0000897101-21-000173.txt : 20210312 0000897101-21-000173.hdr.sgml : 20210312 20210312112847 ACCESSION NUMBER: 0000897101-21-000173 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 101 CONFORMED PERIOD OF REPORT: 20201231 FILED AS OF DATE: 20210312 DATE AS OF CHANGE: 20210312 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CYBEROPTICS CORP CENTRAL INDEX KEY: 0000768411 STANDARD INDUSTRIAL CLASSIFICATION: OPTICAL INSTRUMENTS & LENSES [3827] IRS NUMBER: 411472057 STATE OF INCORPORATION: MN FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 000-16577 FILM NUMBER: 21736039 BUSINESS ADDRESS: STREET 1: 5900 GOLDEN HILLS DR CITY: GOLDEN VALLEY STATE: MN ZIP: 55416 BUSINESS PHONE: 763-542-5000 MAIL ADDRESS: STREET 1: 5900 GOLDEN HILLS DR CITY: GOLDEN VALLEY STATE: MN ZIP: 55416 10-K 1 cybe-20201231.htm 10-K cybe-20201231.htm
NASDAQ MN MN false true false 1 1 true false --12-31 Non-accelerated Filer 0000768411 CYBEROPTICS CORP false 2020 FY Yes 0 1 1 1 false 0000768411 2019-07-31 0000768411 2019-10-01 2019-12-31 0000768411 us-gaap:RetainedEarningsMember 2018-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0000768411 2019-07-01 2019-09-30 0000768411 us-gaap:CommonStockMember 2018-12-31 0000768411 2019-04-01 2019-06-30 0000768411 2019-01-01 2019-03-31 0000768411 2019-01-01 2019-12-31 0000768411 2019-12-31 0000768411 us-gaap:AccountingStandardsUpdate201409Member srt:MinimumMember us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member 2020-12-31 0000768411 us-gaap:AccountingStandardsUpdate201409Member srt:MaximumMember us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member 2020-12-31 0000768411 us-gaap:LeaseholdImprovementsMember srt:MinimumMember 2020-01-01 2020-12-31 0000768411 us-gaap:LeaseholdImprovementsMember srt:MaximumMember 2020-01-01 2020-12-31 0000768411 cybe:GoldenValleyMember stpr:MN 2020-12-31 0000768411 srt:MinimumMember 2020-01-01 2020-12-31 0000768411 srt:MaximumMember 2020-01-01 2020-12-31 0000768411 us-gaap:CommonStockMember 2020-01-01 2020-12-31 0000768411 us-gaap:RetainedEarningsMember 2020-01-01 2020-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-12-31 0000768411 us-gaap:CommonStockMember 2020-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0000768411 us-gaap:RetainedEarningsMember 2020-12-31 0000768411 cybe:GoldenValleyMember stpr:MN 2020-01-01 2020-12-31 0000768411 cybe:SemiconductorSensorsMember 2020-01-01 2020-12-31 0000768411 country:US 2020-01-01 2020-12-31 0000768411 country:NL 2020-01-01 2020-12-31 0000768411 cybe:OtherEuropeMember 2020-01-01 2020-12-31 0000768411 country:CN 2020-01-01 2020-12-31 0000768411 country:SG 2020-01-01 2020-12-31 0000768411 country:KR 2020-01-01 2020-12-31 0000768411 country:JP 2020-01-01 2020-12-31 0000768411 cybe:OtherAsiaMember 2020-01-01 2020-12-31 0000768411 cybe:OtherGeographicLocationMember 2020-01-01 2020-12-31 0000768411 country:US 2020-12-31 0000768411 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember cybe:CustomerOneMember 2020-01-01 2020-12-31 0000768411 srt:EuropeMember 2020-12-31 0000768411 cybe:AsiaAndOtherMember 2020-12-31 0000768411 cybe:RetirementSavingsPlanSection401KMember 2020-01-01 2020-12-31 0000768411 cybe:DefinedContributionRetirementSavingsPlansMember 2020-01-01 2020-12-31 0000768411 country:SG 2020-12-31 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2020-01-01 2020-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2020-01-01 2020-12-31 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2020-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel1Member 2020-12-31 0000768411 us-gaap:FairValueInputsLevel2Member 2020-12-31 0000768411 us-gaap:FairValueInputsLevel3Member 2020-12-31 0000768411 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-12-31 0000768411 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-12-31 0000768411 cybe:NonEmployeeDirectorStockPlanMember 2020-12-31 0000768411 us-gaap:EmployeeStockOptionMember cybe:StockIncentivePlanMember 2020-12-31 0000768411 us-gaap:EmployeeStockMember srt:MinimumMember 2020-01-01 2020-12-31 0000768411 cybe:NonEmployeeDirectorStockPlanMember 2020-01-01 2020-12-31 0000768411 us-gaap:EmployeeStockOptionMember 2020-12-31 0000768411 cybe:RestrictedSharesAndRestrictedStockUnitsMember 2020-01-01 2020-12-31 0000768411 cybe:RestrictedSharesAndRestrictedStockUnitsMember 2020-12-31 0000768411 us-gaap:EmployeeStockMember 2020-01-01 2020-12-31 0000768411 us-gaap:EmployeeStockMember 2020-12-31 0000768411 cybe:StockGrantPlanForNonEmployeeDirectorsMember 2020-01-01 2020-12-31 0000768411 cybe:StockOptionsAndRestrictedStockUnitsRsusMember 2020-01-01 2020-12-31 0000768411 us-gaap:EquipmentMember 2020-12-31 0000768411 us-gaap:LeaseholdImprovementsMember 2020-12-31 0000768411 us-gaap:PatentsMember 2020-12-31 0000768411 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-12-31 0000768411 us-gaap:CustomerRelatedIntangibleAssetsMember 2020-12-31 0000768411 us-gaap:PatentsMember 2020-01-01 2020-12-31 0000768411 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-01-01 2020-12-31 0000768411 us-gaap:CustomerRelatedIntangibleAssetsMember 2020-01-01 2020-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember 2020-12-31 0000768411 us-gaap:EquitySecuritiesMember 2020-12-31 0000768411 us-gaap:EmployeeStockMember srt:MaximumMember 2020-01-01 2020-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:ShortTermInvestmentsMember 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:ShortTermInvestmentsMember 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:ShortTermInvestmentsMember 2020-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:FairValueInputsLevel1Member 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:FairValueInputsLevel1Member 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:FairValueInputsLevel1Member 2020-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel1Member 2020-12-31 0000768411 cybe:CustomerOneMember us-gaap:CustomerConcentrationRiskMember cybe:ExportRevenuesMember 2019-01-01 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:FairValueInputsLevel2Member 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:FairValueInputsLevel2Member 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:FairValueInputsLevel2Member 2020-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel2Member 2020-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:FairValueInputsLevel3Member 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:FairValueInputsLevel3Member 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:FairValueInputsLevel3Member 2020-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel3Member 2020-12-31 0000768411 2020-12-31 0000768411 2020-01-01 2020-12-31 0000768411 us-gaap:ShortTermInvestmentsMember 2020-12-31 0000768411 us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 us-gaap:TransferredOverTimeMember 2020-01-01 2020-12-31 0000768411 us-gaap:TransferredAtPointInTimeMember 2020-01-01 2020-12-31 0000768411 cybe:MrsBasedSensorsMember 2020-01-01 2020-12-31 0000768411 us-gaap:CustomerConcentrationRiskMember us-gaap:SalesRevenueNetMember cybe:CustomerTwoMember 2020-01-01 2020-12-31 0000768411 cybe:MrsBasedSystemsMember 2020-01-01 2020-12-31 0000768411 us-gaap:AccountingStandardsUpdate201409Member us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member 2020-01-01 2020-12-31 0000768411 cybe:InspectionAndMetrologySystemsMember 2020-01-01 2020-12-31 0000768411 cybe:HighPrecision3DAnd2DSensorsMember 2020-01-01 2020-12-31 0000768411 us-gaap:CommonStockMember 2019-01-01 2019-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-12-31 0000768411 us-gaap:RetainedEarningsMember 2019-01-01 2019-12-31 0000768411 us-gaap:CommonStockMember 2019-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0000768411 us-gaap:RetainedEarningsMember 2019-12-31 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2019-01-01 2019-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2019-01-01 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:FairValueInputsLevel1Member 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:FairValueInputsLevel2Member 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:FairValueInputsLevel3Member 2019-12-31 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:FairValueInputsLevel1Member 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:FairValueInputsLevel2Member 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:FairValueInputsLevel3Member 2019-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:FairValueInputsLevel1Member 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:FairValueInputsLevel2Member 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:FairValueInputsLevel3Member 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember 2019-12-31 0000768411 us-gaap:EquitySecuritiesMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel1Member 2019-12-31 0000768411 us-gaap:FairValueInputsLevel2Member 2019-12-31 0000768411 us-gaap:FairValueInputsLevel3Member 2019-12-31 0000768411 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-12-31 0000768411 cybe:RestrictedSharesAndRestrictedStockUnitsMember 2019-01-01 2019-12-31 0000768411 us-gaap:EmployeeStockMember 2019-01-01 2019-12-31 0000768411 cybe:StockOptionsAndRestrictedStockUnitsRsusMember 2019-01-01 2019-12-31 0000768411 cybe:StockGrantPlanForNonEmployeeDirectorsMember 2019-01-01 2019-12-31 0000768411 srt:MinimumMember 2019-01-01 2019-12-31 0000768411 srt:MaximumMember 2019-01-01 2019-12-31 0000768411 us-gaap:EquipmentMember 2019-12-31 0000768411 us-gaap:LeaseholdImprovementsMember 2019-12-31 0000768411 us-gaap:PatentsMember 2019-12-31 0000768411 us-gaap:ComputerSoftwareIntangibleAssetMember 2019-12-31 0000768411 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-12-31 0000768411 us-gaap:PatentsMember 2019-01-01 2019-12-31 0000768411 us-gaap:ComputerSoftwareIntangibleAssetMember 2019-01-01 2019-12-31 0000768411 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-01-01 2019-12-31 0000768411 cybe:RetirementSavingsPlanSection401KMember 2019-01-01 2019-12-31 0000768411 cybe:DefinedContributionRetirementSavingsPlansMember 2019-01-01 2019-12-31 0000768411 cybe:HighPrecision3DAnd2DSensorsMember 2019-01-01 2019-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel1Member 2019-12-31 0000768411 cybe:SemiconductorSensorsMember 2019-01-01 2019-12-31 0000768411 cybe:InspectionAndMetrologySystemsMember 2019-01-01 2019-12-31 0000768411 cybe:MrsBasedSensorsMember 2019-01-01 2019-12-31 0000768411 cybe:MrsBasedSystemsMember 2019-01-01 2019-12-31 0000768411 country:US 2019-01-01 2019-12-31 0000768411 country:NL 2019-01-01 2019-12-31 0000768411 cybe:OtherEuropeMember 2019-01-01 2019-12-31 0000768411 country:CN 2019-01-01 2019-12-31 0000768411 country:SG 2019-01-01 2019-12-31 0000768411 country:KR 2019-01-01 2019-12-31 0000768411 country:JP 2019-01-01 2019-12-31 0000768411 cybe:OtherAsiaMember 2019-01-01 2019-12-31 0000768411 cybe:OtherGeographicLocationMember 2019-01-01 2019-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel2Member 2019-12-31 0000768411 country:US 2019-12-31 0000768411 srt:EuropeMember 2019-12-31 0000768411 cybe:AsiaAndOtherMember 2019-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel3Member 2019-12-31 0000768411 us-gaap:CustomerConcentrationRiskMember us-gaap:SalesRevenueNetMember 2019-12-31 0000768411 us-gaap:CustomerConcentrationRiskMember cybe:ExportRevenuesMember 2020-01-01 2020-12-31 0000768411 us-gaap:CustomerConcentrationRiskMember cybe:ExportRevenuesMember 2019-01-01 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:ShortTermInvestmentsMember 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:ShortTermInvestmentsMember 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 us-gaap:TransferredOverTimeMember 2019-01-01 2019-12-31 0000768411 us-gaap:TransferredAtPointInTimeMember 2019-01-01 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 us-gaap:CustomerConcentrationRiskMember us-gaap:SalesRevenueNetMember cybe:CustomerTwoMember 2019-01-01 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 2018-12-31 0000768411 us-gaap:ShortTermInvestmentsMember 2019-12-31 0000768411 us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 cybe:NonEmployeeDirectorStockPlanMember 2019-05-16 2019-05-16 0000768411 2020-01-01 2020-03-31 0000768411 2020-04-01 2020-06-30 0000768411 2020-07-01 2020-09-30 0000768411 2020-10-01 2020-12-31 0000768411 2020-06-30 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2018-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2018-12-31 0000768411 2021-02-28 0000768411 cybe:GoldenValleyMember 2020-12-31 0000768411 us-gaap:CommonStockMember us-gaap:AccountingStandardsUpdate201602Member srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember 2018-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember us-gaap:AccountingStandardsUpdate201602Member srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember 2018-12-31 0000768411 us-gaap:RetainedEarningsMember us-gaap:AccountingStandardsUpdate201602Member srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember 2018-12-31 0000768411 us-gaap:AccountingStandardsUpdate201602Member srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember 2018-12-31 0000768411 srt:MinimumMember 2020-12-31 0000768411 srt:MaximumMember 2020-12-31 0000768411 country:SG cybe:JobsSupportProgramMember us-gaap:ReducedEmployeeExpensesMember 2020-01-01 2020-12-31 0000768411 us-gaap:CustomerConcentrationRiskMember cybe:CustomerOneMember us-gaap:AccountsReceivableMember 2020-12-31 0000768411 us-gaap:CustomerConcentrationRiskMember cybe:CustomerTwoMember us-gaap:AccountsReceivableMember 2020-12-31 0000768411 srt:AffiliatedEntityMember 2020-01-01 2020-12-31 0000768411 srt:AffiliatedEntityMember 2019-01-01 2019-12-31 0000768411 cybe:NonEmployeeDirectorStockPlanMember 2020-05-14 2020-05-14 0000768411 us-gaap:CustomerConcentrationRiskMember us-gaap:AccountsReceivableMember cybe:CustomerThreeMember 2020-12-31 0000768411 us-gaap:AccountingStandardsUpdate201602Member 2019-12-31 xbrli:shares xbrli:pure utr:sqft utr:Q iso4217:USD iso4217:USD xbrli:shares cybe:plan cybe:reporting_unit cybe:renewal_option cybe:customer

SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, D.C. 20549


FORM 10-K


x ANNUAL REPORT PURSUANT TO SECTION 13 or 15(d) of the Securities Exchange 

Act of 1934 for the Year Ended December 31, 2020.

 

o TRANSITION PURSUANT TO SECTION 13 or 15(d) of the Securities Exchange

Act of 1934 for the transition period from ______ to ______.

 

COMMISSION FILE NO. (0-16577)

 

CYBEROPTICS CORPORATION

(Exact name of registrant as specified in its charter)

Minnesota

41-1472057

(State or other jurisdiction of incorporation or organization)  

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

5900 Golden Hills Drive

MINNEAPOLIS, MINNESOTA

55416

(Address of principal executive offices)

(Zip Code)

(763) 542-5000

(Registrant’s telephone number, including area code)

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

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, no par value

CYBE 

NASDAQ Stock Market LLC


Securities registered pursuant to Section 12(g) of the Exchange Act: None 

 

Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes ☐ No

 

Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes ☐ No

 

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 such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes ☑ No ☐

 

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

 

Indicate by check mark whether the Registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, 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 standard provided pursuant to Section 13(a) of the Exchange Act. ☐

 

Indicate by check mark whether the company has filed an attestation report regarding management's assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act by the registered public accountants that audited the company's financial statements. Yes ☐ No


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

 

State the aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant’s most recently completed second fiscal quarter: $225,286,757


As of February 28, 2021, there were 7,297,867 shares of the registrant’s Common Stock, no par value, issued and outstanding.  

 

DOCUMENTS INCORPORATED BY REFERENCE:

 

The responses to Part III items 10, 11, 12, 13 and 14 herein are incorporated by reference to certain information in the Company’s definitive Proxy Statement for its Annual Meeting of Shareholders to be held May 13, 2021.


CYBEROPTICS CORPORATION 

FORM 10-K

For the Fiscal Year Ended December 31, 2020


TABLE OF CONTENTS 

 



PART I.   2
ITEM 1. DESCRIPTION OF BUSINESS 2
ITEM 1A. RISK FACTORS 13
ITEM 1B. UNRESOLVED STAFF COMMENTS  19
ITEM 2. PROPERTIES 19
ITEM 3. LEGAL PROCEEDINGS 19
ITEM 4. MINE SAFETY DISCLOSURES 19
PART II. 20
ITEM 5. MARKET FOR REGISTRANT’S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES 20
ITEM 6. SELECTED FINANCIAL DATA 20
ITEM 7. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS 21
ITEM 7A. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK 29
ITEM 8. FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA 30
ITEM 9. CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE 58
ITEM 9A. CONTROLS AND PROCEDURES 58
ITEM 9B. OTHER INFORMATION 58
PART III. 59
ITEM 10. DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE 59
ITEM 11. EXECUTIVE COMPENSATION 59
ITEM 12. SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS 59
ITEM 13. CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE 59
ITEM 14. PRINCIPAL ACCOUNTANT FEES AND SERVICES 59
PART IV. 60
ITEM 15. EXHIBITS AND FINANCIAL STATEMENT SCHEDULES 60
SIGNATURES 62

 

 

 

 

GENERAL


Background

 

CyberOptics Corporation was founded in 1984 and is a leading global developer and manufacturer of high precision sensing technology solutions and system products for inspection and metrology. Our headquarters are located at 5900 Golden Hills Drive in Golden Valley, Minnesota. Our website address is www.cyberoptics.com. You can access, free of charge, our filings with the Securities and Exchange Commission, including our annual report on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K and any amendments to those reports, at our website, or at the Commission’s website at www.sec.gov. Proxy materials for our upcoming 2021 annual shareholders meeting to be held on May 13, 2021 will be available electronically via the internet at the following address: http://www.idelivercommunications.com/proxy/cybe/.


We are a leading global developer and manufacturer of high precision 3D sensors and system products for inspection and metrology. We also develop and manufacture our WaferSense® products, a family of wireless, wafer-shaped sensors that provide measurements of critical factors in the semiconductor fabrication process. We intend to leverage our sensor technologies in the surface mount technology (SMT) and semiconductor industries to deliver profitable growth. A key element of our strategy is the continued development and sale of high precision 3D sensors and system products based on our proprietary Multi-Reflection Suppression™ (MRS) technology. We believe that our MRS technology is a breakthrough 3D optical technology for high-end inspection and metrology with the potential to significantly expand our markets. Another key element in our strategy is the continued development and introduction of new sensor applications for our WaferSense family of products.    


Our products are used in the SMT and semiconductor industries to significantly improve our customers' manufacturing yields and productivity, and to assist our customers in meeting their rigorous demands for manufacturing quality. Our products use a variety of proprietary technologies such as lasers, optics and machine vision, combined with software, electronics and mechanical design. Our products help manufacturers solve their most complex manufacturing challenges by providing them with key information relating to their manufacturing processes, which allows them to improve production volumes, yields and product quality.


Manufacturing yield challenges as electronics and semiconductors become more complex are driving the need for more precise inspection and metrology. As a result, we believe 3D inspection and metrology represent high-growth segments in both the SMT and semiconductor capital equipment markets. We expect a growing number of opportunities in the markets for SMT and semiconductor inspection and metrology, because our 3D MRS technology platform is well suited for many of these applications, particularly with respect to complex circuit boards and semiconductor wafer and advanced packaging inspection and metrology applications.


We manufacture 3D and 2D optical sensors for use in our own proprietary inspection system products and for sale to original equipment manufacturers (OEMs), system integrators and end customers in the SMT and semiconductor capital equipment markets. Our inspection system products are sold to manufacturers of SMT electronic circuit boards to control quality as in-line systems, particularly with respect to complex circuit boards used in smart phones and other high-end electronic products. These products are used by manufacturers to measure screen-printed solder paste, to inspect circuit boards and components after component placement, to confirm proper placement after full assembly of circuit boards and to inspect solder joints on printed circuit boards. We also sell our inspection system products to leading semiconductor manufacturers and outsourced semiconductor assembly and test (OSAT) companies. Manufacturers of DRAM and Flash Memory use our inspection system products to inspect assembly of their memory modules. Increasingly, our inspection system products are being used for various semiconductor related inspection and metrology applications, including advanced packaging.


We believe that a strategy of developing and selling complete inspection systems and metrology products to end-users provides us with valuable customer input in the markets we currently serve, and allows us to refine the sensors and sensor subsystems for these markets and adjacent markets. At the same time, sales to OEMs and system integrators allow us to capitalize on our strengths in optical physics, sensor design and software algorithm development. We believe that the resulting sensor products and subsystems are unique and add significant value to our products and the products of our customers.


Our WaferSense family of products assist with yield improvement and tool uptime in semiconductor wafer fabrication and flat panel display manufacturing by providing highly accurate measurements of critical process factors. These measurements are impossible or very difficult to obtain without powering down the equipment used for wafer fabrication and flat panel display manufacturing. Customers who use our products have better yields, through-put and tool up-time. Our products are more accurate when compared to the various manual techniques historically used by semiconductor manufacturers to obtain critical wafer fabrication process measurements. We have continued to invest in our WaferSense product family and anticipate strong future sales growth for these products. 



Covid-19 was first identified in December 2019, and in March 2020, the World Health Organization categorized Covid-19 as a pandemic. The Covid-19 pandemic is affecting our customers, suppliers, service providers and employees, and the ultimate impacts of Covid-19 on our business, results of operations, liquidity and prospects are not fully known at this time. However, the Covid-19 outbreak has had a relatively minimal impact on our business to date. Our revenues increased by 18% to $70.1 million in 2020, from $59.3 million in 2019. We are forecasting modest revenue growth in the first quarter of 2021. Our forecast for the first quarter of 2021 could change if the Covid-19 pandemic worsens, or if unforeseen events related to the pandemic occur. We currently do not anticipate any significant credit losses or asset impairments resulting from the Covid-19 pandemic. As of December 31, 2020, our available balances of cash and marketable securities totaled $30.6 million. We believe that we have the resources required to attain our growth objectives and to meet any unforeseen difficulties resulting from the Covid-19 pandemic. We will continue to closely monitor the Covid-19 pandemic and its impact on our business. There have been recent spikes in Covid-19 cases, and some health experts have predicted that the Covid-19 pandemic may worsen in the coming months.


Our ability to implement our strategy effectively is subject to numerous uncertainties and risks, including the risks identified in Item 1A of this Annual Report on Form 10-K. There can be no assurance that our strategy will be successful.  

 

OPERATIONS AND PRODUCTS

 

Multi-Reflection Suppression Technology


We have successfully launched a number of products based on our 3D MRS technology, including our SQ3000™ Multi-Function systems (SQ3000 and SQ3000 3D CMM) for inspection and metrology, MX3000 memory module inspection system and our recently introduced 3D NanoResolution MRS™ sensor and WX3000 inspection and metrology system for semiconductor wafer and advanced packaging inspection and metrology. We are continually developing new high precision 3D sensors and system products based on our proprietary MRS technology. We believe 3D inspection and metrology represent a high growth segment for both the SMT and semiconductor capital equipment markets. Our recent and planned product introductions are designed to strengthen our competitive position in our current markets and expand into adjacent markets.


Challenges with shrinking transistor dimensions has driven the need for advances in semiconductor packaging applications, including 3D stacking of chips. Accordingly, advanced semiconductor packaging is expected to experience significant growth in the next 5 to 10 years. Micro electromechanical systems devices (MEMS) are now being used for many advanced applications. Yield challenges with these products are driving the need for inspection and metrology, and we believe our 3D MRS technology platform is well suited for many of these applications. We are introducing new products based on our MRS technology that we believe will allow us to capitalize on these opportunities and increase our revenues in the future.


We have significantly advanced our 3D MRS sensor technology as part of a research initiative aimed at applying our 3D MRS sensor technology to semiconductor advanced packaging inspection and metrology. Our next generation ultra-high resolution 3-micron pixel 3D NanoResolution MRS sensor and WX3000 inspection and metrology system perform two to three times faster than alternate technologies at data processing speeds in excess of 75 million 3D data points per second. The 3D NanoResolution MRS sensor and WX3000 system perform 100% 3D and 2D inspection and metrology simultaneously at high speeds, deliver throughput of more than 25 wafers per hours and are capable of accurately measuring feature sizes down to 25 microns, which makes these products suitable for many semiconductor wafer and advanced packaging inspection and metrology applications. We anticipate that sales of sensors and systems based on 3D MRS technology, including for semiconductor wafer and advanced packaging inspection and metrology, will provide us with long-term growth opportunities. 


We intend to expand sales of products based on our MRS technology in the SMT and semiconductor markets through current and new distribution channels, OEM partners, system integrators and direct sales to end-user customers. 

 

High Precision 3D and 2D Sensors

 

We manufacture high precision sensors for inspection and metrology in the SMT and semiconductor markets. We sell our 3D MRS sensors to OEMs and system integrators for use in their proprietary system products, and we integrate our 3D MRS sensors into our own proprietary system products for inspection and metrology. Our SMT electronic assembly alignment sensor products are a family of sensors that are customized and incorporated into the equipment manufactured by our customers for use in SMT circuit board assembly. We work closely with our OEM customers and system integrators to incorporate our high precision 3D and 2D sensors into their product offerings. Sales of high precision 3D and 2D sensors accounted for 25% of our revenues in 2020 and 21% of our revenues in 2019. 



3D MRS Sensors 

 

Our proprietary 3D MRS sensor technology enables metrology grade accuracy by inhibiting optical measurement distortions and reflections. Our sensor architecture simultaneously captures and transmits multiple images in parallel while proprietary 3D fusing algorithms merge the images together. The result is ultra-high quality 3D images and high-speed inspection. Our 3D MRS sensors are used for inspection and metrology in a variety of applications, including SMT (printed circuit boards), CPU sockets, solder balls and bumps, wafer bumps, copper pillars and other semiconductor wafer and advanced packaging applications. Our 3D MRS sensors can also be used for industrial metrology. Our high precision 3D MRS sensors are based on commercially available cameras, digital light projectors and other hardware components, which are combined with our proprietary MRS technology, 3D fusing algorithms and precision optics. The combination of these elements allow our sensors to capture microscopic quality images at production speeds. Our 3D MRS sensors include six models featuring varying fields of view (FOV), 3D acquisition time and minimum feature sizes. Our next generation ultra-high resolution three-micron pixel 3D NanoResolution MRS sensor is capable of measuring feature sizes down to 25 microns accurately and at high speeds, and is suitable for many semiconductor wafer and advanced packaging inspection and metrology applications. We are targeting one micron, three-sigma accuracy, at speeds that would inspect more than 25 300-millimeter wafers in an hour. Sales of high precision 3D MRS sensors accounted for 17% of our revenues in 2020 and 10% of our revenues in 2019.  

 

SMT Electronic Assembly Alignment Sensors

 

Our LaserAlign® sensors align both large and extremely small surface mount and through-hole components, known as chip capacitors and resistors, during transport on a pick-and-place machine prior to placement. LaserAlign sensors are incorporated into the placement heads of pick-and-place machines to ensure accurate component placement at high production speeds. LaserAlign sensors integrate an intelligent sensor, composed of a laser, optics and detectors with a microprocessor and software for making specific measurements. LaserAlign sensors enable quick and accurate alignment of each component as it is being transported by the pick-and-place arm for surface mount or through-hole assembly. Using non-contact technology, LaserAlign sensors facilitate orientation and placement of components at higher speeds than can be achieved using conventional mechanical or machine vision component centering systems.


Our board alignment cameras are used to identify fiducial markings on a circuit board to ensure accurate board registration in a pick-and-place machine or a solder paste screen printer. Accurate board placement is needed to ensure proper placement of solder paste deposits and components on a printed circuit board. In some instances, our board alignment cameras are used for 2D solder paste and stencil inspection.


Sales of SMT Electronic Assembly Alignment Sensors accounted for 8% of our revenues in 2020 and 10% of our revenues in 2019.


Inspection and Metrology Systems

 

Our inspection and metrology system products are primarily used in the SMT and semiconductor industries for process control, inspection and metrology. These systems are sold to end-user manufacturing customers that use them in a production line or alongside a production line to maintain process and quality control. Our products incorporate our proprietary 3D and 2D optical sensors, off the shelf, translation or robotics hardware and conveyors and complete computer systems or processors with internally developed software. Sales of inspection and metrology systems accounted for 54% of our revenues in 2020 and 55% of our revenues in 2019.

 

Automated Optical Inspection (AOI) Products

 

We have been selling AOI products for well over a decade and have continued to develop and improve our AOI offerings since they were first introduced. These products are typically used to inspect circuit boards after component placement to determine whether all components have been placed correctly, and to measure the quality of solder joints after reflow. These products can also be used for various semiconductor related inspection and metrology applications, including wafer and advanced packaging applications, and for certain industrial metrology applications. 


SQ3000 Multi-Function systems (SQ3000 and SQ3000 3D CMM). Our SQ3000 Multi-Function systems for AOI, solder paste inspection (SPI) and coordinate measurement (CMM) applications, are designed to expand our presence in markets requiring high precision inspection and metrology. In these markets, identifying defects has become highly challenging and critical due to smaller semiconductor and electronics packaging and increasing component density on circuit boards. We believe the combination of our proprietary 3D MRS sensor technology, Ai2 (Autonomous Image Interpretation) software and sophisticated 3D fusing algorithms allows us to offer microscopic image quality at production line speeds. The SQ3000 is an all-in-one solution for AOI and SPI in a single product. The SQ3000 3D CMM goes a step further by adding metrology functionality. Manufacturers in a variety of industries, including the SMT and semiconductor markets, can use the SQ3000 3D CMM as an in-line or off-line metrology tool to help solve complex manufacturing and product quality challenges.  


We believe there are a growing number of sales opportunities for our SQ3000 Multi-Function systems in the markets for SMT and semiconductor inspection and metrology. We believe our 3D MRS sensor technology is uniquely suited for many of these applications. Our SQ3000 Multi-Function systems are available in versions that can accommodate dual production lanes and larger circuit board sizes. Sales of SQ3000 Multi-Function systems accounted for 27% of our revenues in 2020 and 30% of our revenues in 2019.


 

QX Series 2D AOI products. Our QX AOI systems feature our strobe inspection module (SIM) sensor technology and are designed for 2D inspection of circuit boards. We offer QX products with varying levels of resolution and inspection speeds. We also offer versions of the QX product that can accommodate dual production lanes, larger circuit board sizes and both top and bottom inspection of a circuit board.

 

MX products. Our MX products are used for inspection of memory modules following the singulation step of the manufacturing process. Our MX600™ system utilizes our SIM sensor technology and Ai2 software, and is used for 2D inspection of memory modules. Our MX3000™ system utilizes our 3D MRS sensor technology, SQ3000 system software and Ai2 software, and is used for 3D inspection of memory modules. We recently received purchase orders for the MX3000 valued at $4.2 million for multiple subcontractors of a large memory manufacturer. These orders are expected to be recognized as revenue in the second and third quarters of 2021. Two of the world’s three largest memory manufacturers now use either our 2D MX600 or 3D MX3000 memory module inspection systems. We believe the potential market opportunity for the MX3000 system is significant.


SPI Products

 

SE3000™. The SE3000 is an in-line system solder paste inspection system based on our 3D MRS sensor technology. The SE3000 measures in 3D the amount of solder paste applied to a circuit board after the first step of the SMT circuit board assembly process. Because of the small size of the components that must be placed on each pad of solder paste and the density of components placed on the circuit board, a significant amount of SMT assembly problems are related to the quality of solder paste deposition. Misplaced solder paste or excess or inadequate amounts of paste can lead to improper connections or bridges between leads causing an entire circuit board to malfunction. The SE3000 inspects the height, area and volume of solder paste placed on an entire circuit board at production line speeds and with resolution that allows the SE3000 to measure the smallest chip scale packages and micro ball array component sites. The SE3000 can be integrated into most SMT production lines, providing real time quality control immediately after a printed circuit board leaves the screen printer and before component placement commences. 


SE600. The SE600 is an in-line solder paste inspection system incorporating a dual-illumination sensor that measures in 3D the height, area and volume of solder paste placed on an entire circuit board at production line speeds. The SE600 can be integrated into most SMT production lines.


SE500ULTRA. The SE500ULTRA is an in-line solder paste inspection system incorporating the same proprietary 3D inspection technology as the SE600 but utilizes a single illumination sensor. The SE500ULTRA inspects at faster speeds than the SE3000 or SE600 and is intended for use in high-volume production environments. Because the SE500ULTRA performs inspections at very high speed, it does not provide the same level of resolution and measurement performance as the SE3000 or SE600.


Semiconductor Wafer and Advanced Packaging Products


Our new WX3000 system is suitable for many semiconductor wafer and advanced packaging inspection and metrology applications. The WX3000, which incorporates our next generation ultra-high resolution 3D NanoResolution MRS sensor, performs 100% 3D and 2D inspection and metrology simultaneously at high speeds and delivers throughput of more than 25 wafers per hour. We believe the WX3000 performs two to three times faster than alternate technologies at data processing speeds in excess of 75 million 3D data points per second. The WX3000 is suitable for many high volume semiconductor wafer and advanced packaging inspection and metrology applications for feature sizes down to 25 microns.


General Industrial Metrology Products and Services

 

CyberGage®360Manufacturers in a variety of industries use CyberGage360 as a near-line or off-line metrology tool to capture surface data to help solve complex manufacturing and product quality challenges. Our sales of CyberGage360 to date have not been significant. There can be no assurance that CyberGage360 will ever achieve widespread market acceptance.


Other Metrology Products and Services. We also sell 3D scanning and metrology equipment manufactured by other suppliers and provide 3D scanning and metrology services for objects of all sizes and complexity for customers that do not have their own 3D scanning and metrology equipment. 



Semiconductor Sensors

 

Our principal semiconductor products, the WaferSense family of products, are a series of wireless sensors that provide measurements of critical factors in the semiconductor fabrication process. We designed our WaferSense family of sensors to be used where wafers or reticles are located in semiconductor fabrication to provide measurements of critical factors that are currently impossible or extremely difficult to obtain without powering down the fabrication process equipment. Because the user is not required to break down semiconductor fabrication equipment when using our WaferSense products, significant time is saved. In addition, measurement accuracy is increased over the accuracy of the manual techniques currently used by many customers when checking the process parameters measured by our WaferSense products. As a result of WaferSense technology, our customers are able to improve the up-time, through-put and process yield for their semiconductor fabrication equipment. We intend to continue to enhance and expand the WaferSense family of products in the future. Sales of semiconductor sensors accounted for 21% of our revenues in 2020 and 24% of our revenues in 2019.


Automatic Leveling Sensor (ALS). The ALS is a wireless, vacuum-compatible sensor that can be placed in cassettes, FOUPS, on-end effectors, aligners, in-load locks and process chambers used in semiconductor fabrication to ensure that all stations are level and coplanar.

 

Automatic Gapping Sensor (AGS). The AGS is a gapping tool that measures the gap in three places between the showerhead and pedestal in semiconductor process equipment. The amount of gap between the showerhead and pedestal can affect uniformity when material is deposited on semiconductor wafers.

 

Automatic Teaching Sensor (ATS). The ATS measures X-Y-Z offset from robotic transfers of wafers to the pedestal in semiconductor process equipment. The amount of gap and offset after robotic transfer of wafers to the shower pedestal can affect film thickness and uniformity when material is deposited or etched on semiconductor wafers, impacting quality and product yields. 

 

Automatic Vibration Sensor (AVS). The AVS measures X-Y-Z acceleration for shock and vibration, which can generate wafer particles, scratches or wafer breakage that reduce yield. 

 

WaferSense Airborne Particle Sensor™. The WaferSense airborne particle sensors (APS) allow engineers to efficiently detect and classify particles and their exact sources in a process as wafers are transferred, slit valves are actuated and chambers are cycled, pumped down and purged. APS sensors are designed to be compatible with front-ends, coater/developer tracks, and deposition and etch equipment. ReticleSense® Airborne Particle Sensors allow users to quickly identify geographic particle sources in reticle environments. The ReticleSense Airborne Particle Sensor is compatible with ASML, Nikon and Canon scanners and can travel the entire reticle path to detect in real-time when and where particles might exist. The ReticleSense Airborne Particle Sensor helps our customers exceed manufacturing quality and productivity standards in the Photo lithography scanner environment.


In-Line Particle Sensor™. The In-Line Particle Sensor (IPS™) with CyberSpectrum software detects particles in gas and vacuum lines 24/7 in semiconductor process equipment. The IPS quickly identifies, monitors and enables troubleshooting of particles down to 0.1 micron in size. The IPS can be installed in any gas or vacuum system, and is particularly relevant for EUV lithography tools where the ability to monitor particles in-line can significantly improve EUV lithography tool yield and productivity. For example, an IPS can be installed at the vacuum line in between the EUV process chamber and the vacuum pump, saving significant time compared to current methods of sending a monitor dummy reticle into the EUV system to check for particles before and after sending the reticle into the EUV system. The IPS is constantly collecting data, which is especially critical during chamber purging. Process and equipment engineers in semiconductor fabs can increase the speed of equipment qualification. Contamination sources can be identified quickly and the effects of cleaning, adjustments and repairs can be seen in real-time. Through use of the IPS, fabs can shorten equipment maintenance cycles, lower equipment expenses and optimize preventative maintenance plans.


WaferSense Auto Multi Sensor™. The WaferSense Auto Multi Sensor is an all-in-one wireless real-time device that allows engineers to quickly take leveling, vibration and humidity measurements. Humidity measurements are becoming more important as the use of Fin Field Effect Transistor technology increases among semiconductor manufacturers. The ReticleSense Auto Multi Sensor allows users to quickly take leveling, vibration and humidity measurements in reticle environments.


WaferSense 300mm Auto Resistance Sensor™. The WaferSense 300mm Auto Resistance Sensor(ARS™) with CyberSpectrum software enables real-time resistance measurements of plating cell contacts in semiconductor Electrochemical Deposition (ECD) applications. The ARS quickly identifies and monitors resistance measurements with 50 separate pads around the perimeter utilizing a Kelvin sensing (4-wire resistance) method to detect residue affecting plating pins. Process and equipment engineers in semiconductor fabs can predict when a tool needs maintenance with quantitative analysis of measured mean resistance over time, shorten equipment maintenance cycles, and improve cell-to-cell uniformity with the wafer-like, 4-wire resistance sensor and CyberSpectrum software's objective and repeatable data.


WaferSense Auto Vibration and Leveling Sensor.  The WaferSense Auto Vibration and Leveling Sensor (AVLS3) with a thickness of 3.5mm can travel to most locations and tools within a semiconductor fab where a real semiconductor wafer travels. The Chemically Hardened Glass (CHG) substrate enables smooth wafer handling and improved vacuum chucking. The AVLS3, with CyberSpectrum software, collects and displays both vibration and leveling data simultaneously for fast equipment set-up and alignment and real-time equipment diagnostics to speed equipment qualification and shorten equipment maintenance cycles.



Markets and Customers 

 

We sell the majority of our products into the markets for SMT and semiconductor inspection and metrology. The value of automation is high in these markets because the products produced have high unit costs and are manufactured at speeds too great for effective human involvement. Trends in these markets include further efforts to reduce the cost of the manufacturing process and to increase automation. Moreover, the trend toward smaller electronic devices with higher circuit densities, smaller circuit paths and extremely small components requires manufacturing and testing equipment capable of extremely accurate alignment and multidimensional measurement. Challenges with shrinking transistor dimensions has driven the need for advances in semiconductor packaging applications, including 3D stacking of chips. Yield challenges with these products are driving the need for more accurate inspection and metrology. We expect a growing number of opportunities in the markets for SMT and semiconductor inspection and metrology, because our 3D MRS technology platform is well suited for many of these applications.


High Precision 3D and 2D Sensors


3D MRS Sensors


We sell our 3D MRS sensors to OEM customers for use in semiconductor component package inspection. We have an agreement to supply Nordson-YESTECH with 3D MRS sensors for its 3D AOI inspection equipment serving the SMT market. We sell our 3D MRS sensors, including our next generation ultra-high resolution 3D NanoResolution MRS sensor, to OEMs and system integrators that make capital equipment for semiconductor manufacturers and OSAT's. We believe sales of 3D MRS sensors for semiconductor wafer and advanced packaging inspection and metrology applications represent compelling long-term growth opportunities. We estimate that the total available market for sales of our 3D MRS sensors to manufacturers of inspection and metrology equipment for the semiconductor wafer and advanced packaging inspection and metrology market was approximately $60 million in 2020, and will grow to approximately $150 million in 2025. We have just started selling our 3D MRS sensors for use in semiconductor wafer and advanced packaging inspection and metrology equipment and our sales to date have not been significant.


SMT Electronic Assembly Alignment Sensors


The vast majority of our SMT electronic assembly alignment sensors are sold on an OEM basis to Juki Corporation, Kulicke & Soffa Industries, Inc. and ASM Pacific Technology Ltd. for integration into DEK brand equipment serving the SMT circuit board assembly market. Viscom AG purchases our SPI sensors on an OEM basis for integration into their SPI inspection equipment. 


Inspection and Metrology Systems

 

We sell our AOI and SPI inspection and metrology systems to many of the leading SMT electronic assembly circuit board manufacturers, end-user customers manufacturing their own circuit boards, semiconductor manufacturers and OSAT companies. Manufacturers of DRAM and Flash Memory use our inspection system products to inspect assembly of their memory modules. Sales of AOI systems account for roughly two-thirds of the approximately $800 million total annual SPI and AOI SMT inspection systems market, with 3D AOI representing the fastest growing segment of this market. We estimate that the total available market for sales of 3D AOI systems to the SMT inspection systems and metrology markets was approximately $250 million in 2020, and will grow to approximately $1.4 billion by 2025. The markets for 3D and 2D semiconductor wafer and advanced packaging inspection and metrology equipment totals approximately $500 million per year.


The total available market for general industrial metrology equipment is very large, diverse and growing. Our 3D scanning and metrology services scan, model and inspect objects of all sizes and complexity for customers who do not have their own scanning and metrology equipment.


Semiconductor Sensors

 

Our semiconductor products, primarily our WaferSense family of products, are used by process and equipment engineers as non-contact precision measurement tools to optimize the process for production of semiconductor wafers and manufacturing of flat panel displays. Most of the world’s largest manufacturers of semiconductors and semiconductor equipment purchase our WaferSense products. We believe the available market for our WaferSense products is potentially significant, and will continue to increase in the future as new product applications are added.



Export Sales and Significant Customers

 

Export sales totaled $56.0 million or 80% of our total sales in 2020, compared to $44.8 million or 76% of our total sales in 2019. Export sales represent a large percentage of our total sales because a large portion of electronics assembly and semiconductor production occurs outside the United States. In addition, a significant portion of our export sales include high precision 3D and 2D sensors sold to OEM customers located in Europe and Asia. See Note 13 to our consolidated financial statements contained in Item 8 of this Annual Report on Form 10-K for information regarding the percentage of total sales revenue represented by total export sales (sales of products into countries other than the United States, including sales delivered through distributors) by location during the past two years. Most of our international export sales are negotiated, invoiced and paid in U.S. dollars. We manufacture our inspection system products in Singapore and a portion of our raw material purchases are denominated in Singapore dollars. We also have R&D and sales personnel located in Singapore and sales offices located in other parts of the world. Although currency fluctuations do not significantly affect our revenue, they can impact our costs and influence the price competitiveness of our products and the willingness of existing and potential customers to purchase our products.


In 2020, sales to our largest customer accounted for 14% of our total revenues, and sales to our second largest customer accounted for 13% of our total revenues. No other customer accounted for more than 10% of our total revenues in 2020. No customer accounted for more than 10% of our total revenues in 2019.

 

Sales and Marketing


We market our products by offering on-site demonstrations and evaluations, through appearances at industry trade shows, advertising in industry journals, articles published in industry and technical journals and on the Internet. We support our sales efforts by utilizing internet-based search engine marketing programs to generate leads from prospects who have expressed interest in obtaining the types of products and services that we offer.


High Precision 3D and 2D Sensors

 

Our high precision 3D and 2D sensors are sold in most countries to OEMs and system integrators by direct sales personnel located in Minnesota and Asia. Some of the global channel partners for our other products also market our high precision 3D MRS sensors to system integrators and semiconductor manufacturers.


Inspection and Metrology Systems

 

Our AOI and SPI inspection and metrology system products are sold in most countries. We have just started marketing our new WX3000 system for semiconductor wafer and advanced packaging inspection and metrology. Sales and marketing of our AOI, SPI and WX3000 system products are more heavily concentrated in Asia where a significant portion of the worldwide production capacity for circuit board assembly and semiconductor manufacturing occurs. Our AOI, SPI and WX3000 system products are sold by direct sales personnel located in the United States, the United Kingdom, Singapore, Taiwan and China and through independent sales representatives and distributors. We have sales and service team members based in the United States and Mexico to serve the Americas market. Our sales and service office in the United Kingdom serves the European market. We have sales and service offices in Singapore, Taiwan and China to serve the markets for SMT and semiconductor inspection and metrology equipment in Asia. We have agreements with 43 independent sales representatives and distributors, which focus on sales and service of our AOI, SPI and WX3000 inspection and metrology system products to end-user customers. These agreements cover North and South America (14), Europe (16) and China and Asia-Pacific (13). We sell our general industrial metrology products and services to end-user customers mainly through a direct sales staff located in Minnesota.


Semiconductor Sensors


We sell our semiconductor products, primarily our WaferSense family of products, to semiconductor fabrication facilities through a separate worldwide sales channel of independent sales representatives and distributors. We also sell our WaferSense products directly to large OEM customers, which are mainly semiconductor capital equipment manufacturers. We currently have agreements in place or in process with 14 independent sales representatives and distributors, which focus on sales and service for our WaferSense products. These agreements cover the United States (4), Europe (3) and the Asia-Pacific (7). Our sales to OEM customers and our worldwide network of independent sales representatives and distributors are managed by direct sales personnel located in the United States and Asia. 

 


Backlog and Seasonality

 

Product backlog was $23.0 million at December 31, 2020, $17.7 million at December 31, 2019 and $13.6 million at December 31, 2018. Product backlog at September 30, 2020 was $17.7 million. Our products are typically shipped two weeks to six months after the receipt of an order. However, in some cases we have received orders from OEM customers which cover a period of several years. Sales of some inspection and metrology system products may require customer acceptance due to performance or other acceptance criteria included in the terms of sale. For these product sales, revenue is recognized at the time of customer acceptance. Although our business is generally not of a highly seasonal nature, sales may vary based on the capital procurement practices in the SMT and semiconductor fabrication industries. However, we are not able to quantify with any level of precision the impact of these practices on our sales in any given quarterly period, and any seasonal cyclicality is often masked by more dramatic changes in demand caused by the normal volatility in electronics and semiconductor markets that are associated with changes in the economy. Our scheduled backlog at any time may vary significantly based on the timing of orders from OEM customers or the receipt of large orders for inspection and metrology system products. 

 

Research and Development

 

We differentiate our products primarily on the basis of innovative and proprietary technology and on our ability to combine several different technologies to address industry and customer needs. In addition, we actively seek ongoing strategic customer relationships with leading product innovators in existing and new markets. We actively investigate the needs of, and seek input from, these customers to facilitate the adoption of current innovative technologies and to identify opportunities to improve manufacturing processes. 


We commit substantial resources to the development of important next-generation technologies that, we believe, will position us to be a global technology leader in high precision 3D sensors and capture additional market share in our key markets of SMT and semiconductor inspection and metrology. We maintain our commitment to research and development and product development even during periods when strong demand in the markets for our products does not exist. During the past two years, research and development efforts have been focused on a number of activities that are critical to our future growth and success, including the following: 

  

  

Our next generation ultra-high resolution three-micron pixel 3D NanoResolution MRS sensor is capable of measuring feature sizes down to 25 microns accurately and at high speeds. We are targeting one micron, three-sigma accuracy, at speeds that would inspect more than 25 300-millimeter wafers in an hour. The 3D NanoResolution MRS sensor is suitable for many semiconductor wafer and advanced packaging inspection and metrology applications. We have adapted the system software used in our SQ3000 Multi-Function systems to work with wafer handling equipment to facilitate sales of our NanoResolution sensor to OEMs and system integrators.



Additional new MRS sensors for semiconductor component package inspection and metrology, in-line CPU socket metrology and semiconductor wafer and advanced packaging inspection and metrology applications.


Our next generation MX3000 system for 3D inspection of memory modules following the singulation step of the manufacturing process. The MX3000 utilizes our MRS sensor technology, SQ3000 system software and Ai2 software. We recently received purchase orders for the MX3000 valued at $4.2 million for multiple subcontractors of a large memory manufacturer. These orders are expected to be recognized as revenue in the second and third quarters of 2021.  


Our new system, WX3000, for semiconductor wafer and advanced packaging inspection and metrology. The WX3000, which utilizes our 3D NanoResolution MRS sensor and SQ3000 system software, performs 100% 3D and 2D inspection and metrology simultaneously at high speeds and delivers throughput of more than 25 wafers per hour. We believe the WX3000 performs two to three times faster than alternate technologies at data processing speeds in excess of 75 million 3D data points per second. The WX3000 is suitable for many high volume semiconductor wafer and advanced packaging inspection and metrology applications for feature sizes down to 25 microns.

  


We have continued to advance our SQ3000 Multi-Function systems for 3D AOI, SPI and CMM applicationswhich are designed to expand our presence in markets requiring high precision inspection and metrology. Improvements include faster programming time and more software features to support new applications. We believe there are a growing number of sales opportunities for our SQ3000 Multi-Function systems in the markets for 3D AOI of complex circuit boards and semiconductor inspection and metrology.  

  

  

Development of new semiconductor products, including new applications for our WaferSense family of products. We recently launched an In-Line Particle Sensor (IPS) to detect particles in gas and vacuum lines 24/7 in semiconductor process equipment. We also recently launched a WaferSense 300mm Auto Resistance Sensor (ARS) that enables real-time resistance measurements of plating cell contacts in semiconductor ECD applications. Other new WaferSense products are under development which have the potential to expand our market opportunity in the future, including next generation ATS products.

 


Research and development expenses were $9.6 million or 14% of revenue in 2020 and $9.4 million or 16% of revenue in 2019. Research and development expenses consist primarily of salaries, project materials, contract labor and other costs associated with ongoing product development and enhancement efforts. Research and development resource utilization is centrally managed based on market opportunities and the status of individual projects.

 

Manufacturing

 

All of our high precision 3D and 2D sensors and semiconductor sensors are assembled at our Minneapolis, Minnesota headquarters facility. Our inspection and metrology systems, including our SQ3000 Multi-Function system products, are assembled in Singapore. We rely on third party automation suppliers to provide the material handling platforms for our 2D MX600, 3D MX3000 and WX3000 system products. Much of our product manufacturing, which is primarily circuit board manufacturing, lens manufacturing and metal parts production, is performed by outside contractors. Our production personnel inspect incoming parts, perform final assembly, calibrate and perform final quality control testing of finished products. We have elected not to make the capital investments necessary for complete internal manufacturing of our products. 


A variety of components used in our products are available only from single sources and involve relatively long order cycles, in some cases up to six months. We believe we have identified alternative assembly contractors for most of our sub-assemblies. Use of those alternative contractors could require substantial rework of the product designs, resulting in periods during which we could not satisfy customer orders. An actual change in such contractors would likely require a period of training and testing. 

 

Accordingly, an interruption in a supply relationship or reduced production capacity experienced by one or more of such contractors could result in the inability to deliver one or more of our products for a period of several months. To help prevent delays in the shipment of our products, we maintain in inventory, or on scheduled delivery from suppliers, components that we believe will be sufficient to meet forecasted demand, often times for a minimum of six months or longer.


Competition

 

We face competition from a number of companies in the machine vision, image processing and inspection and metrology systems markets, many of which are larger and have greater financial resources than we do. However, we believe our current and planned products offer advantages from competing products in terms of price and suitability for specific applications. 


High Precision 3D and 2D Sensors


Our high precision 3D and 2D sensors mainly compete with the sensors and vision systems developed by OEMs using their own design employees for incorporation into their products. Some of the competitors in the capital equipment markets for SMT inspection, semiconductor component package inspection and semiconductor wafer and advanced packaging inspection and metrology rely on 3D sensors manufactured by Keyence Corporation. We believe the advantages offered by our 3D MRS sensor technology and SQ system software allow our customers, including OEMs and system integrators, to compete favorably in these markets.


Our SMT electronic assembly alignment sensor products compete with vision (camera and software-based) systems and component libraries available from Cognex Corporation and others. Although advances in vision systems have reduced some of the advantages of our SMT electronic assembly alignment sensor products in some configurations, we continue to believe that our sensors compete favorably based on our ability to custom design products with stringent physical form requirements, speed, flexibility, low cost and ease of use.


Inspection and Metrology Systems


The primary competition for sales of our AOI and SPI inspection and metrology system products has been from Korean-based companies, including Koh Young Technology, MirTec Ltd., and PARMI Co. Ltd. We also compete with Taiwanese-based Test Research, Inc. and German-based Viscom AG, among others. In our view, the 3D MRS sensor technology, system software and Ai2 software used in our SQ3000 Multi-Function systems differentiate our products from competing products and that our products compete effectively in the SMT inspection systems and metrology markets based on performance, ease of use and the low rate of false calls. We also believe that our SQ3000 Multi-Function systems, enabled by our proprietary MRS technology, 3D fusing algorithms and precision optics, offer advantages over competing products and will allow us to gain market share based on our ability to offer microscopic quality images at fast production line speeds.  


The markets for semiconductor wafer and advanced packaging inspection and metrology equipment are fragmented. Our competitors in the markets for semiconductor wafer and advanced packaging inspection and metrology equipment include, among others, Camtek, Inc., Unity SC, Utechzone Co. Ltd. and Onto Innovation, Inc.  


The multi-billion dollar market for 3D scanning and metrology products is highly fragmented. The primary competition for the various metrology products and solutions we sell include coordinate-measuring machines sold by Hexagon, Zeiss and others, and assorted other 3D measurement products offering varying combinations of speed and accuracy, including X-ray systems. The market for 3D scanning and metrology services is dominated by small regional market participants. 



Semiconductor Sensors

 

We believe our semiconductor sensors, primarily consisting of our WaferSense family of products, are unique to the marketplace and mainly face competition from the manual techniques currently used by most customers to monitor their semiconductor fabrication or flat panel display manufacturing equipment. For some WaferSense applications, there are other products available in the marketplace that are capable of monitoring semiconductor fabrication equipment, but these competing solutions are typically not wireless or fully automated like our WaferSense products. We believe that our WaferSense products provide more reliable and accurate measurements than the manual techniques currently in use or other solutions currently available in the marketplace. In a semiconductor fabrication environment, we believe that our WaferSense products save significant time because the user is not required to break down process equipment, or pressurize a vacuum chamber, which improves tool up-time, through-put and process yield. 


Employees

 

As of December 31, 2020, we had 183 full-time employees worldwide, including 41 in sales, marketing and customer support, 57 in manufacturing, purchasing and production operations, 66 in engineering, research and development, and 19 in finance, administration and information services. Of these employees, 108 are located at our corporate headquarters in Minneapolis, Minnesota and 75 are located in other offices (7 in other states throughout the U.S., 5 in the United Kingdom, 47 in Singapore, 6 in China, 5 in Taiwan, 2 in Mexico, 1 in Malaysia, 1 in Japan and 1 in Korea). Although we have been successful in attracting and retaining qualified technical personnel, there is an ongoing need for more employees with advanced degrees and training in mathematics, optical physics and other key disciplines. There can be no assurance that we will be able to successfully retain or recruit qualified technical personnel in the future. None of our employees are covered by collective bargaining agreements or are members of a union.


Proprietary Protection

 

We rely on the technical expertise and know-how of our personnel and trade secret protection, as well as on patents, to maintain our competitive position. We attempt to protect intellectual property by restricting access to proprietary methods by a combination of technical and internal security measures. In addition, we make use of non-disclosure agreements with customers, consultants, suppliers and employees. Nevertheless, there can be no assurance that any of the above measures will be adequate to protect our proprietary technology, and it is possible that any of our products could be duplicated by other companies in the same markets in which we participate.


We hold 53 patents (28 U.S. and 25 foreign) on a number of technologies, including the technologies used in our SQ3000 Multi-Function systems for AOI, SPI and CMM applications; other SMT inspection systems; MRS high-precision 3D sensors; SMT electronic assembly alignment sensors, SIM sensors and semiconductor sensors, primarily consisting of our WaferSense wireless measurement devices; and other products. In addition, we have 44 pending patents (10 U.S. and 34 foreign). We protect the proprietary nature of our software primarily through copyright and license agreements, and also through close integration with our hardware offerings. We utilize 31 registered trademarks (12 U.S. and 19 foreign) and have 4 trademark registrations pending. We also have 12 domain names and several common law trademarks. It is our policy to protect the proprietary nature of our new product developments whenever they are likely to become significant sources of revenue. No guarantee can be given that we will be able to obtain patent or other protection for other products. 

 

As the number of our products increases and the functionality of those products expands, we may become increasingly subject to attempts to duplicate our proprietary technology. As a result, we may be required to bring patent infringement lawsuits against parties that have duplicated our proprietary technology. We periodically receive communications from third parties asserting that our products infringe, or may infringe, the proprietary rights of these third parties or others. These claims of infringement may lead to protracted and costly litigation, which could require us to pay substantial damages or have the sale of our products stopped by an injunction. Infringement lawsuits or claims could also cause product delays, require us to redesign our products, hinder our ability to sell our products, or make the sale of these products more expensive. In addition, although we do not believe that any of our products infringe the rights of others, there can be no assurance that third parties will not assert infringement claims in the future or that any such assertion will not require us to enter into a royalty arrangement or result in litigation. 

 

Government Regulation

 

Our business is subject to many foreign, federal, state and local legal and regulatory requirements, including among others those related to securities, employment, international trade, anticorruption, health, safety and the environment. Significant costs may arise from these requirements, or from new, modified or more stringent requirements, which could affect our operations and competitive position. 

 

 

Note Regarding Forward-Looking Statements


This Annual Report on Form 10-K contains, or incorporates by reference, not only historical information, but also forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, or the Securities Act, and Section 21E of the Securities Exchange Act of 1934, or the Exchange Act, and that are subject to the safe harbors created by such sections. Forward-looking statements involve numerous risks and uncertainties. Our actual results may differ from our beliefs, expectations, estimates, and projections and, consequently, you should not rely on these forward-looking statements as predictions of future events. Forward-looking statements are not historical in nature and can be identified by words such as “anticipate,” “estimate,” “will,” “should,” “expect,” “target,” “believe,” “intend,” “seek,” “plan,” “goals,” “future,” “likely,” “may,” and similar expressions or their negative forms, or by references to strategy, plans, or intentions. These forward-looking statements are subject to risks and uncertainties, including, among other things, those described in this Annual Report on Form 10-K under the caption “Risk Factors.” Other risks, uncertainties, and factors that could cause actual results to differ materially from those projected are described below and may be described from time to time in reports we file with the Securities and Exchange Commission, or the SEC, including our Quarterly Reports on Form 10-Q and Current Reports on Form 8-K. Forward-looking statements speak only as of the date they are made, and we undertake no obligation to update or revise any such forward-looking statements, whether as a result of new information, future events, or otherwise.

 

Important factors, among others, that may affect our actual results include: a possible world-wide recession or depression resulting from the economic consequences of the COVID-19 pandemic; the negative effect on our revenue and operating results of the COVID-19 crisis on our customers and suppliers and the global supply chain; market conditions in the global SMT and semiconductor capital equipment industries; trade relations between the United States and China and other countries; the timing of orders and shipments of our products, particularly our 3D MRS SQ3000 Multi-Function systems and MX systems for memory module inspection; increasing price competition and price pressure on our product sales, particularly our SMT systems; the level of orders from our OEM customers; the availability of parts required to meet customer orders; unanticipated product development challenges; the effect of world events on our sales, the majority of which are from foreign customers; rapid changes in technology in the electronics and semiconductor markets; product introductions and pricing by our competitors; the success of our 3D technology initiatives; the market acceptance of our SQ3000 Multi-Function inspection and measurement systems and products for semiconductor advanced packaging inspection and metrology; costly and time consuming litigation with third parties related to intellectual property infringement; the negative impact on our customers and suppliers due to past and future terrorist threats and attacks and any acts of war; the impact of the MX3000 orders on our consolidated gross margin percentage in any future period; and risks related to cancellation or renegotiation of orders we have received. Our ability to implement our strategy effectively is subject to numerous uncertainties and risks, including the risks identified in Item 1A of this Annual Report on Form 10-K. There can be no assurance that our strategy will be successful.  




 

Our operations are subject to a number of risks and uncertainties that may affect our financial results, and the accuracy of the forward looking statements we make in this Annual Report on Form 10-K. We make statements regarding anticipated product introductions and performance, changes in markets, customers and customer order rates, expenditures in research and development, growth in revenue and improvement in gross profit margins and profits, taxation levels, the effects of product pricing, and competition, all of which represent our expectations and beliefs about future events. Our actual results may vary from these expectations because of a number of factors that affect our business. The most important of these factors include the following: 


Risks Related to the Global Economy and Public Health Crises




The Covid-19 pandemic has significantly and negatively impacted worldwide economic conditions that could have a material adverse effect on our operations and business in the future. The Covid-19 pandemic is likely to continue to affect our business, especially if government authorities continue to impose or re-impose mandatory closures, shelter-in-place mandates and social distancing protocols, and seek voluntary facility closures or impose other restrictions. Recently, some domestic and foreign governments have taken actions to re-open their economies. However, as a result of increased cases of Covid-19 infections and deaths, certain domestic and foreign governments have taken steps to reverse some of these re-opening initiatives. Actions to impede spread of Covid-19 could materially adversely affect our ability to adequately staff and maintain our operations and negatively impact long-term research and development projects. Global travel restrictions could continue to hinder our ability to obtain timely customer acceptance for some product sales, thereby negatively impacting our revenue and operating results. Our global supply chain has been and may continue to be disrupted, which could negatively affect our sales, ability to provide products to our customers and ability to service our customers. In addition, the economic disruptions caused by the Covid-19 outbreak could prevent customers from paying us for our products and result in significant credit losses. A prolonged global recession or depression resulting from the Covid-19 pandemic most likely would have a significant negative impact on our revenue and operating results, and could lead to asset impairment charges. As we cannot predict the duration or scope of the Covid-19 pandemic, the anticipated negative financial impact to our operating results cannot be reasonably estimated, but could be material and last for an extended period of time.  





Our business has been and will continue to be significantly impacted by the global economy and uncertainty in the outlook for the global economy makes it more likely that our actual results will differ materially from expectations. Economic uncertainties affect businesses such as ours in a number of ways, making it difficult to accurately forecast and plan our future business activities, and negatively impacting our operating results. Economic instability or uncertainty could cause tightening of credit in financial markets, may lead consumers and businesses to postpone spending, and may cause our customers to cancel, decrease or delay their existing and future orders with us. In addition, financial difficulties experienced by our suppliers, distributors or customers could result in product delays, increased accounts receivable defaults and inventory challenges. The OEMs, system integrators and equipment manufacturers that purchase our sensors, and the semiconductor and SMT manufacturers that purchase our WaferSense® and inspection and metrology system products, are largely dependent on continued demand for consumer and commercial electronics, including smartphones, tablets and computers. Demand for electronics is a function of the health of the economies in the United States and around the world. Sales of our general purpose metrology products and services are also dependent upon the health of the global economy and the competitiveness of the end products manufactured by the customers we serve. Our results would be adversely affected in the future if these economies were to experience recessions, or if the products manufactured by our end customers are not successful in the marketplace. 




World events beyond our control may affect our operations. Our operations and markets could be negatively affected by world events that effect economies and commerce in specific countries, such as China, Singapore, Taiwan and Japan, in which we do business. Natural disasters have affected travel patterns and accessibility in these countries in the past and other natural occurrences could affect the business we do in these countries in the future. Terrorist activity or other armed conflicts that could occur in countries in which we do business, labor disputes that impact complex international shipping arrangements, or other unanticipated actions by local populations could affect our ability to do business in specific geographies. Many of the countries in which we do business can be affected by economic forces that are different from the forces that affect the United States and change the amount of business we conduct. 




Global trade conflicts may negatively impact our sales and results of operations. Ongoing trade conflicts with other countries, particularly China, may impact our sales and results of operations. Concerns over the impact of the U.S. and China trade war on the global economy may cause our customers to refrain from making investments in capital equipment, which would negatively impact our sales. We or our suppliers source certain raw materials and components from China. If the United States were to increase existing tariff levels or impose new tariffs, our supply chain and costs would be negatively impacted, resulting in an increase in our cost structure and negatively impacting our operating profits.



  

  

We generate approximately 80% of our revenue from export sales that are subject to risks of international operations. Our export sales are subject to many of the risks of international operations, including:

 

  


 

currency controls and fluctuations in currency exchange rates; 

 

  


 

changes in local market business requirements and increased cost and development time required to modify and translate our products for local markets;

 

  


 

inability to recruit qualified personnel in a specific country or region; 

 

  


 

difficulty in establishing and maintaining relationships with local vendors; 

 

  


 

differing foreign technical standards;

 

  


 

differing regulatory requirements; 

 

  


 

export restrictions and controls, tariffs and other trade barriers; 

 

  


 

reduced protection for intellectual property rights; 

 

  


 

changes in political and economic conditions; 

 

  


 

potentially adverse tax assessments; and 

 

  


 

terrorism, pandemics or other events that may affect local economies and our access to markets outside the U.S. 




Exchange rate fluctuations may have a significant negative impact on our revenue and results of operations. Most of our international export sales are negotiated, invoiced and paid in U.S. dollars. Significant fluctuations in the value of the U.S. dollar relative to other currencies could have a negative impact on the price competitiveness of our products relative to foreign competitors and the willingness of customers to purchase our products. A significant portion of our cost of revenues, research and development and sales and marketing costs are denominated in the Singapore dollar. In addition, other sales and marketing costs are denominated in British Pounds Sterling, the new Taiwan dollar and the Chinese Yuan. Our costs will increase and our results will be negatively impacted in future periods, if the U.S. dollar weakens relative to the currencies of these countries. Fluctuations in the relationship between the U.S. dollar and the currencies of other geographies could have a significant negative impact on our future revenue, costs and results of operations.  


Risks Related to Our Products and Customer Preferences


The markets for capital equipment in the SMT and semiconductor industries in which we operate are cyclical, and market downturns have occurred, such as the industry-wide slowdown in demand for SMT and semiconductor capital equipment that we experienced in 2019. We operate in cyclical markets – the SMT and semiconductor capital equipment markets – that periodically adjust independent of global economic conditions. For example, sluggish conditions in the markets for SMT and semiconductor capital equipment emerged late in the fourth quarter of 2018 and continued through the third quarter of 2019. In the past, we have not been able to predict with accuracy the timing or magnitude of periodic downturns in these markets. Some of these downturns have severely affected our operations and generated several years of unprofitable operations. Ultimately, we have difficulty determining the duration or severity of any market downturns, the strength of any subsequent recoveries, and the long-term impact that economic conditions may have on our business.


We have recently introduced or are in the process of introducing a number of products based upon our 3D MRS technology, the failure of new products employing this technology to achieve acceptance in the marketplace would materially adversely affect our future anticipated operating results. We have incorporated our MRS technology into various products, including our next generation ultra-high resolution 3-micron pixel 3D NanoResolution MRS sensor, other 3D MRS sensor offerings, WX3000 system, MX3000 system and SQ3000™ Multi-Function systems. We also expect to use this technology in other new products, including next generation sensors and systems for semiconductor component package inspection, semiconductor wafer and advanced packaging inspection and metrology. If the products we have introduced or are about to introduce based upon the MRS technology do not operate up to specifications, if the market otherwise does not find these products attractive, or if we are unable to efficiently identify new customers and new applications for these products given our current sales channels, our operating results for 2021 and longer-term growth in revenue and operating results would be materially adversely affected.




Sales of sensors to five OEM customers constituted 23% of our revenues in 2020, and the loss of any of these customers could have a materially adverse impact on our results of operations. If the order rates from these five OEM customers are negatively impacted by global economic events or competitive factors, if they choose sensors manufactured by other suppliers, or otherwise terminate their relationships with us, our results of operations could be adversely affected.

  

  

Our products could become obsolete. Our current products, as well as the products we have under development, are designed to operate with the technology that we believe currently exists or may exist for electronic components, printed circuit boards, memory modules and semiconductor manufacturing markets, including semiconductor component package, semiconductor wafer and advanced packaging inspection and metrology. The products we develop to meet customer needs and requirements are subject to rapid technological change and, because it takes considerable time to develop new products, we must anticipate industry trends, as well as technological developments, in order to effectively compete. Further, because we do not have unlimited development resources, we might choose to forgo the pursuit of what becomes a leading technology or market and devote our resources to technologies and markets that are less successful. If we incorrectly anticipate technology developments or market trends, or have inadequate resources to develop our products to deal with changes in technology and markets, our products could become obsolete, and our future revenue and operating results would be negatively impacted.

  

 

The market for most SMT capital equipment has become more mature and price competitive. The electronics capital equipment market for surface mount technologies is becoming more mature, resulting in increased price pressure on suppliers of this type of equipment. Consequently, our SMT inspection systems and SMT electronic assembly alignment sensor products have become subject to increased levels of price competition and competition from other suppliers, which may or may not utilize different technology, including lower cost Asian based suppliers.    

 

 

The market for 3D AOI equipment for printed circuit board inspection has become more price competitive, which has negatively impacted our margins. Pricing for 3D AOI equipment for inspection of printed circuit boards with less demanding features and complexity has become more competitive, resulting in increased price pressure. In some instances, our SQ3000 Multi-Function systems compete in the marketplace for inspection of printed circuit boards in which the inspection requirements are less complex and stringent. In this segment of the market, we have experienced competitive pressures that have reduced the sales prices, which in turn has negatively impacted our revenue and gross margins. If this level of competition were to increase in the future, our revenue and gross margins would be negatively impacted. 

  

 

Because of the high cost of changing equipment, customers in our markets are sometimes resistant to purchasing our products even if they are superior. We believe that, because of the high cost of installation and integration of new inspection equipment into production lines, once an SMT customer has selected a vendor’s equipment, the customer generally relies upon that equipment and, to the extent possible, subsequent generations of the same vendor’s equipment. Accordingly, unless our systems offer performance or cost advantages that outweigh the expense of installing and integrating new systems, it may be difficult for us to achieve significant sales to a customer that currently uses a competitor’s equipment.  

   
Risks Related to Our Business


Our operating results have varied, and will likely continue to vary significantly, from quarter to quarter. Our quarterly operating results have varied in the past and will likely continue to vary significantly from quarter to quarter. Some of the factors that may influence our operating results include the following: changes in customer demand for our sensors, inspection and metrology systems, which is influenced by economic conditions in our markets and the overall health of the global economy; demand for products that use circuit boards and semiconductors; market acceptance of our products and those that have integrated our 3D MRS sensors into their product offerings, including OEM's and system integrators; competition; seasonal variations in customer demand; the timing, cancellation or delay of customer orders, particularly our SQ3000 Multi-Function systems, 3D MX3000 and 2D MX600 memory module inspection systems; the timing of product shipments and related customer acceptances; and product development and other costs, including increased research, development, engineering and marketing expenses associated with our introduction of new products and product enhancements, and ongoing sales and marketing activities.


Our development and assembly operations in Singapore, and our sales operations in Asia and Europe, are subject to unique risks because of the remote nature of the operations. Our Singapore development and manufacturing operations, and our Asian and European sales operations, present a number of risks. These risks relate to the retention of personnel, management of product development and operations, management and access to customer and distributor interactions, control over administrative and business processes, regulatory and legal issues and other matters relating to foreign operations. Our financial performance, ability to serve our customers and ability to manufacture and sell products in Asia and Europe could be negatively impacted if we are unable to retain our Asian and European based employees, if it costs more than expected to retain these employees or hire other experienced employees in a timely manner, if we are unable to manage these employees appropriately, or if we are unable to locate suitable sources of components for our products manufactured in Asia.




Our ability to compete in the markets for our products is dependent upon our ability to recruit new capable channel partners and direct sales employees and the sales skills of our channel partners and employees. In order to generate significant incremental revenue in the future, we need to expand and enhance our sales capabilities by recruiting new, high quality channel partners and sales employees. Our efforts to increase the size and capability of our direct sales team and channel partners will increase our cost structure. If we are unable to successfully improve our direct sales team and sales channel, our future sales will be negatively impacted, and we will not obtain an adequate return on the increase in our cost structure, including obtaining an adequate return on our investment in research and development. To the extent our competitors have relationships with stronger channel partners, it may be difficult for us to achieve significant incremental revenue, even if our products are technologically superior. 


Competitors in Asia may be able to compete favorably with us based on lower production and employee costs, greater financial resources and larger sales distribution networks. We compete with large multinational companies when selling our inspection and metrology system products. These competitors are able to take advantage of greater financial resources and larger sales distribution networks. We also compete with new Asian based suppliers, many of which may have lower overall production and employee costs and are willing to offer their products at lower selling prices to customers. 

    


We are exposed to credit risk through sales to our OEM customers and distributors of our inspection and metrology system products. We sell our products through key OEM customers, and usually have significant credit exposure with respect to these customers. In addition, we sell our inspection and metrology system products through a network of international distributors. These distributors tend to be small and have limited financial resources and access to capital. Although these distributors do not hold our products in inventory for re-sale, we are exposed to credit risk and would incur losses if they are unable to pay for the products they have purchased from us. 

    


We are dependent upon outside suppliers for components of our products, and delays in or unavailability of those components would adversely affect our results. We use outside contractors to manufacture the components used in many of our products and some of the components we order require significant lead times that could affect our ability to sell our products if the components are not available. In addition, if these components do not meet stringent quality requirements or become obsolete, there could be delays in the availability of our products, and we could be required to make significant investments in designing replacement components.

    


Breaches of our network security could expose us to losses. We manage and store on our network systems various proprietary information and sensitive or confidential data relating to our operations and products. There has been an increasing incidence of unauthorized access to the computer networks of various technology companies. Computer programmers and hackers may be able to gain unauthorized access to our network system and steal proprietary information, compromise confidential information, create system disruptions, or cause shutdowns. These parties may also be able to develop and deploy viruses, worms, and other malicious software programs that disrupt our operations and create security vulnerabilities. Attacks on our network systems could result in significant losses, compromise our competitive advantages and damage our reputation with customers.

    


We must attract, engage, retain and integrate key research and development employees in order to be successful, and failure to do so could have an adverse effect on our ability to profitably grow our business. Identifying, hiring, developing, training and retaining highly-skilled research and development employees is critical to our future, and competition for these types of employees is intense. Failure to successfully hire key research and development employees or the loss of key research and development employees could have a significant negative impact on our ability to create innovative new products, effectively compete in the markets we serve, and on our ability to profitably grow our business.


We are dependent on several key employees, including Dr. Subodh Kulkarni, our President and Chief Executive Officer, for new product innovation and much of the sales, marketing and business development activity related to our products (especially our MRS sensors). These key employees perform a critical role for us with respect to product strategy and new product development. Also, they have been instrumental in development and expansion of our relationships with key OEM customers, system integrators and others. If the employment of Dr. Kulkarni and other key employees with CyberOptics were to end for any reason, our ability to develop innovative products and achieve sustained long-term revenue growth may be negatively impacted. 


Risks Related to Legal and Regulatory Proceedings


Our efforts to protect our intellectual property may be less effective in certain foreign countries, where intellectual property rights are not as well protected as in the United States. The laws of some foreign countries do not protect our proprietary rights to as great an extent as do the laws of the U.S., and many U.S. companies have encountered substantial problems in protecting their proprietary rights against infringement abroad. Consequently, there is a risk that we may be unable to adequately protect our proprietary rights in certain foreign countries. If this occurs, it would be easier for our competitors to develop and sell competing products in these countries.




We may fail to adequately protect our intellectual property and therefore lose our competitive advantage. Our future success and competitive position depend in part upon our ability to obtain and maintain proprietary technology for our principal product families, and we rely, in part, on patent and trade secret law and confidentiality agreements to protect that technology. If we fail to adequately protect our intellectual property, our competitors may be able to duplicate and enhance the products we have developed. We own or have licensed a number of patents, and have filed applications for additional patents. Any of our pending patent applications may be rejected, and we may be unable to develop additional proprietary technology that is patentable in the future. In addition, the patents that we do own or that have been issued or licensed to us may not provide us with competitive advantages and may be challenged by third parties. Further, third parties may also design around these patents. In addition to patent protection, we rely upon trade secret protection for our confidential and proprietary information and technology. We routinely enter into confidentiality agreements with our employees and other third parties. Even though these agreements are in place, there can be no assurance that trade secrets and proprietary information will not be disclosed, that others will not independently develop technology substantially equivalent to our proprietary technology or otherwise gain access to our trade secrets, or that we can fully protect our trade secrets and proprietary information. Violations by others of our confidentiality agreements and the loss of employees who have specialized knowledge and expertise could harm our competitive position and cause our sales and operating results to decline as a result of increased competition. Our failure to obtain or maintain trade secret protection might adversely affect our ability to continue our research or bring products to market.



Protection of our intellectual property rights, or the efforts of third parties to enforce their own intellectual property rights against us, may result in costly and time-consuming litigation, substantial damages, lost product sales and/or the loss of important intellectual property rights. We may be required to initiate litigation in order to enforce any patents issued to or licensed by us, or to determine the scope or validity of a third party’s patent or other proprietary rights. Any litigation, regardless of outcome, could be expensive and time consuming, and could subject us to significant liabilities or require us to re-engineer our products or obtain expensive licenses from third parties. There can be no assurance that any patents issued to or licensed by us will not be challenged, invalidated or circumvented or that the rights granted thereunder will provide us with a competitive advantage. In addition, our commercial success depends in part on our ability to avoid infringing or misappropriating patents or other proprietary rights owned by third parties. We periodically receive communications from third parties asserting that our products infringe, or may infringe, the proprietary rights of these third parties or others. These claims of infringement may lead to protracted and costly litigation, which could require us to pay substantial damages or have the sale of our products stopped by an injunction. Infringement lawsuits or claims could also cause product delays or require us to redesign our products and these delays could result in the loss of substantial revenues. We may also be required to obtain a license from the third party or cease activities utilizing the third party’s proprietary rights. We may not be able to enter into such a license or such a license may not be available on commercially reasonable terms. Accordingly, the patent infringement litigation or claims could hinder our ability to sell our products, or make the sale of these products more expensive.



Risks Related to Financial and Capital Markets and Tax Matters


We have significant deferred tax assets recorded on our balance sheet, and our ability to utilize these deferred tax assets is dependent on our ability to generate sufficient profits in future periods. A change in income tax laws or a further reduction in income tax rates in the future could require us to write-down the value of our deferred tax assets. The amount of any write-down could be large and may result in a significant charge against future earnings. Our ability to utilize our deferred tax assets and realize their value is dependent upon our ability to generate sufficient levels of profitability and taxable income in future periods. If we do not generate sufficient profits and taxable income in future periods, we most likely would be required to record a valuation allowance against our deferred tax assets, resulting in a significant charge against earnings. 

  

  

Our stock price is highly volatile. The trading price of our common stock fluctuates significantly in response to, among other risks, the risks described elsewhere in this Annual Report on Form 10-K, as well as: 

 

  


 

conditions or trends in the industry in which we operate;

 

  


 

quarterly variations in our operating results; 

 

  


 

fluctuations in the stock market in general and market prices for the stock of companies that provide sensing technology solutions and inspection and measurement systems in particular; 

 

  


 

changes in financial estimates by us or securities analysts and recommendations by securities analysts; 

 

  


 

changes in capital structure, including issuance of additional debt or equity to the public; and 

 

  


 

transactions in our common stock by major investors and certain analyst reports, news and speculation. 

  



The absence of significant market liquidity in our common stock could impact the ability of our shareholders to purchase and sell larger blocks, the attractiveness of our stock to institutional shareholders, and the market value of our common stock. There were 7,294,617 shares of our common stock outstanding as of December 31, 2020. Although our common stock is traded on the NASDAQ Stock Market, in part because of the number of shares we have outstanding and available for trading, the daily trading volume in our stock is low, averaging less than 150,000 shares per day. Shareholders wishing to purchase or sell larger blocks of stock may not be able to do so quickly, and disposal by any shareholder of a significant block of stock could adversely affect the sale price in the marketplace. Further, institutional investors often have policies against investment in stock that is illiquid, and many institutional investors may elect not to purchase or hold our stock because of the inability to dispose of it. Lack of institutional interest in our common stock can negatively impact its market price and liquidity.

  


 

Not applicable.

 

 

We lease a 61,208 square foot mixed office and warehouse facility built to our specifications in Golden Valley, Minnesota, which functions as our corporate headquarters and primary manufacturing facility for our sensor products, including those used in our inspection and metrology system products. Our lease for the Golden Valley facility expires July 31, 2026, contains a rent escalation clause and one renewal option of five years.  

 

We lease a 19,805 square foot mixed office and warehouse facility in Singapore that serves as a sales, development and final assembly and integration facility for our inspection and metrology system products. Our lease for the Singapore facility expires on July 24, 2023.

 

As of December 31, 2020, we also have operating leases for small facilities in Taiwan, the United Kingdom and China, which expire in June 2023, May 2023 and November 2022, respectively. 

 


We are not currently subject to any material pending or threatened legal proceedings.

 


Not applicable.

 

 

 

 

Our common stock is traded on the Nasdaq Global Market under the trading symbol "CYBE". 

 

As of February 28, 2021, there were approximately 200 holders of record of our common stock and approximately 5,500 beneficial holders. We have never paid a dividend on our common stock. Dividends are payable at the discretion of the Board of Directors out of funds legally available. Our Board has no current intention of paying dividends.


In July 2019, our Board of Directors authorized a $3.0 million share repurchase program which expired on June 30, 2020. There were no share repurchases under this program in 2020 prior to its expiration. In 2019, we spent $353,000 under this program to repurchase 25,985 shares of our common stock. We also withhold common shares to cover employee tax withholding obligations from the exercise of stock options and the vesting of restricted stock units. In the three months ended December 31, 2020, we withheld 7,393 shares to satisfy employee tax withholding requirements of $185,000. In the year ended December 31, 2020, we withheld 23,068 shares to satisfy employee tax withholding requirements of $605,000.


 

Not applicable.

 

 

 

 

Overview


We are a leading global developer and manufacturer of high precision 3D sensors and system products for inspection and metrology. We also develop and manufacture our WaferSense® products, which is a family of wireless, wafer-shaped sensors that provide measurements of critical factors in the semiconductor fabrication process. We intend to leverage our sensor technologies in the surface mount technology (SMT) and semiconductor industries to deliver profitable growth. A key element of our strategy is the continued development and sale of high precision 3D sensors and system products based on our proprietary Multi-Reflection Suppression™ (MRS) technology. We believe that our MRS technology is a breakthrough 3D optical technology for high-end inspection and metrology with the potential to significantly expand our markets. Another key element in our strategy is the continued development and introduction of new sensor applications for our WaferSense family of products. 


Our operating results in 2019 were affected by the cyclical, industry-wide slowdown in demand for SMT and semiconductor capital equipment as well as uncertainty surrounding the global trade environment. We believe that the three months ended September 30, 2019 marked the trough of the downturn in the SMT and semiconductor capital equipment markets. We believe that conditions in the SMT and semiconductor capital equipment markets started to strengthen in 2020 and will remain solid through 2021. Over the longer-term (i.e., the next several years), we expect a growing number of opportunities in the markets for SMT and semiconductor inspection and metrology. We believe that our 3D MRS sensor and system products and our WaferSense family products have the potential to expand our presence in the markets for SMT and semiconductor capital equipment.  

 

Manufacturing yield challenges as electronics and semiconductors become more complex are driving the need for more precise inspection and metrology. We believe 3D inspection and metrology represent high-growth segments in both the SMT and semiconductor capital equipment markets. We believe our 3D MRS technology platform is well suited for many applications in these markets, particularly with respect to complex circuit boards and semiconductor wafer and advanced packaging inspection and metrology applications. We are taking advantage of current market trends by deploying our 3D MRS sensor technology in the following products:

  

  

·

Our SQ3000™ Multi-Function systems for Automated Optical Inspection (AOI), Solder Paste Inspection (SPI) and coordinate measurement (CMM) applicationswhich are designed to expand our presence in markets requiring high precision inspection and metrology. In these markets, identifying defects has become highly challenging and critical due to smaller semiconductor and electronics packaging and increasing component density on circuit boards. We believe our 3D MRS sensor technology used in our products is uniquely suited for many of these applications because of its ability to offer microscopic image quality and superior measurement performance at production line speeds.

  

  

·

Our next generation MX3000 AOI system for 3D inspection of memory modules following the singulation step of the manufacturing process. We recognized our first revenue from the sale of the MX3000 in the first quarter of 2020. In the fourth quarter of 2020, we received new purchase orders for the MX3000 valued at $4.2 million. We expect to recognize the revenue from these orders in the second and third quarters of 2021.


  

·

Our next generation ultra-high resolution three micron pixel 3D NanoResolution MRS sensor, which is capable of measuring feature sizes down to 25 microns accurately and at high speeds, and is suitable for many semiconductor wafer and advanced packaging inspection and metrology applications. We have adapted the software used in our SQ3000 Multi-Function systems to work with wafer handling equipment to facilitate sales of our 3DNanoResolution MRS sensor to OEM's and system integrators.



· Our new WX3000™ metrology and inspection system for semiconductor wafer and advanced packaging applications, which incorporates our next generation ultra-high resolution 3D NanoResolution MRS sensor. The WX3000 platforms performs 100% 3D and 2D inspection and metrology simultaneously at high speeds and delivers throughput of more than 25 wafers per hour. We believe the WX3000 performs two to three times faster than alternate technologies at data processing speeds in excess of 75 million 3D data points per second. The WX3000 is suitable for many semiconductor wafer and advanced packaging inspection and metrology applications for feature sizes down to 25 microns. We anticipate that sales of sensors and systems based on our 3D MRS technology for semiconductor wafer and advanced packaging inspection and metrology applications will provide us with long-term growth opportunities. 

 

Revenue from MRS based products, including 3D AOI systems and high precision 3D MRS sensors, increased by $7.9 million or 33% to $31.8 million in 2020, from $23.9 million in 2019. Over the long term, we anticipate continued increases in sales of products based on our MRS technology in the SMT and semiconductor capital equipment markets. In particular, we believe inspection and metrology for micro LED, memory modules and semiconductor wafer and advanced packaging applications represent significant long-term growth opportunities. We anticipate increasing sales of MRS-based products by selling them to new OEM customers and system integrators, and by expanding direct sales of inspection and metrology system products to end-user customers. 


 

We have continued to invest in our WaferSense family of products, because fabricators of semiconductors and other customers view these products as valuable tools for improving yields and productivity. We have recently introduced several new WaferSense products to further increase our revenue growth, including the In-Line Particle Sensor (IPS). This sensor detects particles in gas and vacuum lines in semiconductor process equipment, and is particularly relevant for EUV lithography tools. Additional WaferSense applications are under development. Over the long-term, strong future sales growth is anticipated for our WaferSense family of products. 


Our backlog was $23.0 million at December 31, 2020, an increase from $17.7 million at September 30, 2020, and $17.7 million at December 31, 2019. We are forecasting sales of $16.5 to $17.5 million for the first quarter of 2021. Our forecast for the first quarter of 2021 does not include any significant new orders for SQ3000 Multi-Function systems for micro LED inspection and metrology or MX systems for memory module inspection. We believe that demand in the SMT and semiconductor capital equipment markets will remain solid through 2021. However, an increase in the severity of the current Covid-19 outbreak, or a resulting prolonged economic recession or depression, could cause a slow-down in demand for SMT and semiconductor capital equipment. Over the long term, we believe anticipated sales growth of our products based on 3D MRS technology and WaferSense sensors should increase revenues and net income. We believe that we have the resources required to attain our growth objectives, given our available cash and marketable securities balances totaling $30.6 million at December 31, 2020.


Impact from Covid-19

 

Effect of Covid-19 Outbreak on Business Operations 

 

Covid-19 was first identified in December 2019, and in March 2020, the World Health Organization categorized Covid-19 as a pandemic. The Covid-19 pandemic is affecting our customers, suppliers, service providers and employees, and the ultimate impacts of Covid-19 on our business, results of operations, liquidity and prospects are not fully known at this time. However, the Covid-19 outbreak has had a relatively minimal impact on our business to date. Our revenues increased by 18% to $70.1 million in 2020, from $59.3 million in 2019. We are forecasting revenues of $16.5 to $17.5 million for the first quarter of 2021, up modestly from $16.4 million in the first quarter of 2020. Our forecast for the first quarter of 2021 could change if the Covid-19 pandemic worsens, or if unforeseen events related to the pandemic occur. The most significant impacts on our business from the Covid-19 pandemic include the following: 


·

Our key factories are located in Minnesota and Singapore. Both of these locations have been subject to government mandated shelter-in-place orders. Because our operations have been deemed essential, we were able to keep our factories up and running while the shelter-in-place mandates were in effect. If the pandemic worsens, it is possible that our operations may not be deemed essential under future government mandated shelter-in-place orders, and we may be required to shut-down factory operations. We have periodically implemented split-shifts for our factory operations to minimize the number of employees in our facilities at any given time, but these measures have not affected our production capacity. Most of the time, our non-factory employees are working remotely. To date, the shelter-in-place mandates and remote work arrangements have had a minimal impact on operations, but that could change if the pandemic worsens and is more than temporary.



·
Sales of some products, mainly our SQ3000 Multi-Function systems and MX memory module inspection products, require customer acceptance due to performance or other criteria that is considered more than a formality. Most of our customer’s factories have remained open during the Covid-19 pandemic because they are deemed to be essential under government shelter-in-place mandates. However, global travel restrictions and quarantine measures have hindered our ability to obtain customer acceptances for certain of our products at various times in 2020. Continuing or new global travel restrictions and quarantine measures could hinder our ability to obtain customer acceptances in a timely manner in the future, and therefore impact the timing of revenue recognition.


· Total operating expenses were reduced in 2020 due to the Covid-19 pandemic. Wage costs were reduced in 2020 by approximately $410,000 from a jobs support program implemented by the government of Singapore. In addition, travel, trade show and other costs were reduced due to changes in employee travel patterns and trade show cancellations.


· We have experienced some supply disruptions due to the Covid-19 pandemic, mainly from suppliers not deemed essential by shelter-in-place mandates in certain countries. Key supply chain disruptions have been resolved to date. However, supply chain disruptions could increase significantly if the pandemic worsens and continues for an extended period of time. To date, our on-hand inventories have been sufficient to enable us to mitigate any supply disruptions with minimal impact on our sales or ability to service customers. We presently do not expect that supply chain disruptions will have a significant impact on our revenue in the first quarter of 2021. 



We currently do not anticipate any significant credit losses or asset impairments resulting from the Covid-19 pandemic. As of December 31, 2020, our available balances of cash and marketable securities totaled $30.6 million. We believe that we have the resources required to attain our growth objectives and to meet any unforeseen difficulties resulting from the Covid-19 pandemic. However, we will continue to closely monitor the Covid-19 pandemic and its impact on our business. There have been recent spikes in Covid-19 cases, and some health experts have predicted that the Covid-19 pandemic will worsen in the coming months.


United States Covid-19 Relief Legislation

On March 27, 2020, the Coronavirus Aid, Relief and Economic Security Act (the "CARES Act") was signed into law. The CARES Act, among other things, includes provisions relating to refundable payroll tax credits, deferment of employer side social security payments, net operating loss carryback periods and alternative tax credit refunds. The CARES Act also appropriated funds for the Small Business Administration Paycheck Protection Program loans that are forgivable in certain circumstances to promote continued employment. On December 27, 2020, a second relief package, the Consolidated Appropriations Act, 2021, was signed into law which set aside funding for additional loans under the Paycheck Protection Program established by the CARES Act. We have analyzed both pieces of legislation and presently do not believe they will have a material impact on our financial condition, results of operations or liquidity. However, we will continue to monitor the impact that these pieces of legislation could have on our business in the future.

 

Singapore Jobs Support Program

 

As stated above, the Singapore Government implemented a jobs support program in 2020 that was intended to support businesses and encourage retention of employees during the period of economic uncertainty caused by the Covid-19 pandemic. Under the jobs support program, the Singapore Government co-funded a portion of the gross monthly wages paid to local employees, which reduced our operating expense by $410,000 in 2020. We do not expect to receive any material benefit from the Singapore jobs support program in 2021. 


Our ability to implement our strategy effectively is subject to numerous uncertainties and risks, including the risks identified in Item 1A of this Annual Report on Form 10-K.

 

Revenues

 

Our revenues increased by 18% to $70.1 million in 2020, from $59.3 million in 2019, and decreased by 8% to $59.3 million in 2019, from $64.7 million in 2018. The following table sets forth, for the years indicated, revenues by product line:

 

 

 

 

 

 

 

 

 

 

 

 

 

(In thousands)

 

2020

 

2019

 

2018

High precision 3D and 2D sensors

 

$

17,522

 

 

$

12,579

 

 

$

21,532

 

Inspection and metrology systems

 

37,547

 

 

32,713

 

 

29,582

 

Semiconductor sensors

 

15,048

 

 

13,971

 

 

13,606

 

Total

 

$

70,117

 

 

$

59,263

 

 

$

64,720

 


Revenues from sales of high precision 3D and 2D sensors increased by $4.9 million or 39% to $17.5 million in 2020, from $12.6 million in 2019, and decreased by $9.0 million or 42% to $12.6 million in 2019, from $21.5 million in 2018. The revenue increase in 2020 was due to higher sales of 3D MRS sensors resulting from improving conditions in the global semiconductor capital equipment market, higher adoption rates by existing OEM customers and sales of 3D MRS sensors to new OEM customers and system integrators. The revenue decrease in 2019 resulted from a reduction of purchases by OEM customers for high precision 3D and 2D sensors due to weak demand in the global SMT and semiconductor capital equipment markets.


Sales of high precision 3D and 2D sensors are dependent on the success of our OEM customers and system integrators selling products that incorporate our sensors. We believe sales of our 3D MRS sensors, including our next generation ultra-high resolution three micron pixel 3D NanoResolution MRS sensor, will represent an increasing percentage of our total high precision 3D and 2D sensor sales. Sales of high precision 3D and 2D sensors, including 3D MRS sensors, are prone to significant quarterly fluctuations due to variations in market demand and customer inventory levels. 


Revenues from sales of inspection and metrology systems increased by $4.8 million or 15% to $37.5 million in 2020, from $32.7 million in 2019, and increased by $3.1 million or 11% to $32.7 million in 2019, from $29.6 million in 2018. The revenue increases in both periods were mainly due to higher sales of SQ3000 Multi-Function systems and MX memory module inspection systems. Sales of SQ3000 Multi-Function systems increased by $1.4 million or 8% to $18.9 million in 2020, from $17.5 million in 2019, and increased by $4.6 million or 36% in 2019, from $12.9 million in 2018. Sales of 2D and 3D MX memory module inspection systems totaled $6.7 million in 2020, compared to $3.3 million in 2019 and $1.1 million in 2018. 



We believe the increase in sales of SQ3000 Multi-Function systems in 2020 and 2019 was due to the competitive advantages offered by our SQ3000 Multi-Function system products, and resulted from many companies transitioning from 2D to 3D AOI systems to meet the increasingly demanding product inspection and metrology requirements in the SMT and semiconductor markets. The market transition away from 2D AOI systems is expected to result in an industry-wide 20% compound annual rate of growth in global sales of 3D AOI systems through 2025. In addition, we believe the performance advantages of our SQ3000 Multi-Function system has allowed us to attain a leading position in the high growth micro LED inspection and metrology market. Sales of SQ3000 Multi-Function systems for micro LED inspection and metrology applications totaled $4.6 million in 2020, compared to $2.2 million in 2019 and $348,000 in 2018. Given these market dynamics and because of the competitive advantages of our 3D MRS sensor technology, we anticipate sales of SQ3000 Multi-Function systems will represent an increasing percentage of our total inspection and metrology system sales in the future.


In the fourth quarter of 2020, we received new purchase orders for our 3D MX3000 memory module inspection systems valued at $4.2 million. We expect to recognize the revenue from these orders in the second and third quarters of 2021. We believe memory manufacturers have determined that post singulation automated optical inspection of memory modules is an important step in their manufacturing process to improve yields and product quality. Two of the world’s three largest memory manufacturers now use either our 2D MX600 or 3D MX3000 memory module inspection systems. As a result, we believe the potential market opportunity for our 2D and 3D memory module inspection systems is significant and anticipate that sales of these systems will continue in the future.  


Revenues from sales of semiconductor sensors, principally our WaferSense line of products, increased by $1.1 million or 8% to $15.0 million in 2020, from $14.0 million in 2019, and increased by $365,000 or 3% to $14.0 million in 2019, from $13.6 million in 2018. The revenue increases were due to growing acceptance of our WaferSense products as important productivity enhancements tools by semiconductor manufacturers, and improved account penetration at major semiconductor manufacturers and capital equipment suppliers. Over the longer-term, we anticipate that the benefits from growing market awareness of our WaferSense products, improved account penetration at major semiconductor manufacturers and capital equipment suppliers and new product introductions will lead to additional WaferSense product sales. 


Export revenues totaled $56.0 million or 80% of our revenues in 2020, compared to $44.8 million or 76% of total revenues in 2019, and $46.4 million or 72% of total revenues in 2018. Export revenues as a percentage of total revenues increased in 2020 and 2019 due to higher sales of 3D MRS sensors, SQ3000 Multi-Function systems and MX memory module inspection systems. A higher proportion of these products are generally sold outside the United States as compared to our other products. In addition, the Covid-19 pandemic has had a more negative impact on sales in the U.S., when compared to the effect on sales in Europe and Asia.

 

Cost of Revenues and Gross Margin

 

Cost of revenues increased by $5.9 million or 18% to $38.9 million in 2020, and decreased by $3.1 million or 9% to $33.0 million in 2019, from $36.1 million in 2018. Fluctuations in cost of revenues in 2020 and 2019 were primarily due to the corresponding fluctuations in revenue levels. Total revenues increased by 18% in 2020 and decreased by 8% in 2019. Items included in cost of revenues that fluctuate with the level of sales include raw materials, direct labor and factory overhead costs. Revenue mix also contributed to the changes in cost of revenues. 

 

Total gross margin as a percentage of revenue was 45% in 2020, 44% in 2019, and 44% in 2018. There was no significant change in our total gross margin as a percentage of revenue in 2020, when compared to 2019 or 2018. 


Our markets are highly price competitive, particularly in the electronics assembly and SMT markets. As a result, we have experienced continual pressure on our gross margins. We compensate for the pressure to reduce the price of our products by introducing new products with more features and improved performance and through manufacturing cost reduction programs. Sales of many products that we have recently introduced or are about to introduce, including our current and future SQ3000 Multi-Function systems, WX3000 system for semiconductor wafer and advanced packaging inspection and metrology, next generation 3D MRS sensors and semiconductor sensors, (consisting primarily of our WaferSense line of products) have, or are expected to have, more favorable gross margins than many of our existing products. Our next generation 3D MRS sensor and system products are being designed for more complex and demanding inspection and metrology applications in the SMT and semiconductor markets. Sales prices and gross profit margins for these applications tend to be higher than margins for products sold in the general purpose SMT market. However, the gross margin percentage for our 3D MX3000 system for inspection of memory modules will be lower than our current total gross margin percentage due to the significant costs for material handling and automation required for this product. We are working on cost reduction strategies for our SQ3000 Multi-Function system which should benefit gross margins for this product starting in the third quarter of 2021.



Operating Expenses

 

Research and development (R&D) expenses were $9.6 million or 14% of revenues in 2020, $9.4 million or 16% of revenues in 2019, and $8.8 million or 14% of revenues in 2018. The increase in R&D expenses in 2020 was due to higher compensation costs for new and existing R&D employees, including higher bonus accruals resulting from our improved financial performance. These cost increases were mostly offset by the $340,000 favorable impact from the Singapore Government's jobs support program on wage costs discussed above. Travel costs were also lower due to the Covid-19 pandemic. The increase in R&D expenses in 2019 was the result of higher compensation costs for new and existing R&D employees, and expenses related to development of our next generation 3D NanoResolution MRS sensor, offset in part by lower bonus accruals for employees working in our R&D department. Current R&D expenditures are primarily focused on continued development of our portfolio of next generation 3D MRS sensor and system products and continued R&D work on WaferSense products. We also continue to enhance our SQ3000 Multi-Function systems and 3D MX3000 memory module inspection systems.


Selling, general and administrative ("S,G&A") expenses were $15.6 million or 22% of revenues in 2020, $16.0 million or 27% of revenues in 2019, and $16.4 million or 25% of revenues in 2018. The decrease in S,G&A expenses as a percentage of revenues in 2020 was mainly due to higher revenue levels. The decrease in S,G&A expenses in 2020 was due to lower costs for travel and trade shows resulting from the Covid-19 pandemic, lower costs for professional fees and a $70,000 benefit from the Singapore Government's jobs support program, offset in part by higher compensation costs, including higher bonus accruals due to our improved financial performance. The increase in S,G&A expenses as a percentage of revenues in 2019 primarily reflected our lower revenue levels, offset in part by lower expense levels. The decrease in S,G&A expenses in 2019 was due to lower compensation costs resulting from employee departures and lower bonus accruals and sales commissions resulting from the declines in our revenues and financial performance. 


We anticipate that operating expenses will increase in 2021 when compared to 2020. We expect travel and trade show costs to increase once the Covid-19 pandemic begins to ease. We also expect that any impact from the Singapore Government's jobs support program on 2021 operating costs will be inconsequential.


Interest Income and Other

 

Interest income and other includes interest earned on investments and gains and losses associated with foreign currency transactions, primarily intercompany financing transactions associated with our subsidiaries in the United Kingdom, Singapore, China and Taiwan. We recognized foreign currency transaction gains of $27,000 in 2020, compared to foreign currency transaction losses of $127,000 in 2019.


Provision for Income Taxes

 

We recorded income tax expense of $612,000 in 2020, compared to income tax expense of $386,000 in 2019. Our income tax expense in 2020 reflected an effective income tax rate of approximately 10%, which was favorably impacted by significant excess tax benefits from employee stock option exercises and vesting of restricted stock units and restricted shares, and favorable benefits from U.S. federal R&D tax credits and foreign tax credits. We were able to take advantage of the Foreign Derived Intangible Income deduction and foreign tax credits in 2020 because we have used up our remaining federal net operating loss carry forwards. Our income tax expense in 2019 reflected an effective tax rate of approximately 33%, which was negatively impacted by Global Intangible Low-Taxed Income (GILTI) income and an increase in our valuation allowance for deferred income taxes, offset by the favorable benefits from U.S. federal R&D tax credits and a non-cash benefit from completion of an audit of our income taxes in the Singapore tax jurisdiction.    


We have significant deferred tax assets as a result of temporary differences between the taxable income on our tax returns and U.S. GAAP income, R&D tax credit carry forwards and federal and state net operating loss carry forwards. A deferred tax asset generally represents future tax benefits to be received when temporary differences previously reported in our consolidated financial statements become deductible for income tax purposes, when net operating loss carry forwards could be applied against future taxable income, or when tax credit carry forwards are utilized on our tax returns. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on the guidance provided in current financial accounting standards. 

 

Significant judgment is required in determining the realizability of our deferred tax assets. The assessment of whether valuation allowances are required considers, among other matters, the nature, frequency and severity of any current and cumulative losses, forecasts of future profitability, the duration of statutory carry forward periods, our experience with credit and loss carry forwards not expiring unused and tax planning alternatives. In analyzing the need for valuation allowances, we first considered our history of cumulative operating results for income tax purposes over the past three years in each of the tax jurisdictions in which we operate, our financial performance in recent quarters, statutory carry forward periods and tax planning alternatives. In addition, we considered both our near-term and long-term financial outlook. After considering all available evidence (both positive and negative), we concluded that recognition of valuation allowances for substantially all of our U.S. and Singapore based deferred tax assets was not required at December 31, 2020 or December 31, 2019. The valuation allowance recorded against our deferred tax assets at December 31, 2020 was reduced by $265,000, mainly for U.S. federal R&D tax credits that were used or expired. 



We file income tax returns in the United States and various state and foreign jurisdictions. Our federal income tax returns for years after 2016 are still subject to examination by the Internal Revenue Service. We are no longer subject to state and local income tax examinations for years prior to 2016. The Inland Revenue Authority of Singapore has initiated a routine compliance review of our 2018 income tax return. We presently anticipate that the outcome of this audit will not have a significant impact on our financial position or results of operations. 


Liquidity and Capital Resources 

 

Our cash and cash equivalents increased by $2.6 million in 2020. Cash provided by operating activities of $6.0 million and proceeds of $11.6 million from maturities of marketable securities were more than offset by purchases of marketable securities totaling $13.2 million and purchases of fixed assets and payment of capitalized patent costs totaling $1.7 million. Proceeds from stock option exercises and share purchases under our Employee Stock Purchase Plan totaling $582,000, were more than offset by $605,000 of cash used to make employee withholding tax payments for shares withheld related to stock option exercises and vesting of restricted stock units. Our cash and cash equivalents fluctuate in part because of sales and maturities of marketable securities and investment of cash balances in marketable securities, and from other sources of cash. Accordingly, we believe the combined balances of cash and marketable securities provide a more reliable indication of our available liquidity than cash balances alone. Combined balances of cash and marketable securities increased by $4.3 million to $30.6 million as of December 31, 2020, from $26.3 million as of December 31, 2019.


Operating activities provided $6.0 million of cash in 2020. The amount of cash provided by operations was favorably impacted by our net income of $5.7 million. Net income was affected by non-cash expenses totaling $4.6 million for depreciation and amortization, non-cash operating lease expense, provision for doubtful accounts, deferred taxes, non-cash gains from foreign currency transactions, share-based compensation costs and an unrealized loss on our available-for-sale equity security. Changes in operating assets and liabilities providing cash included a decrease in accounts and trade notes receivable of $1.9 million, an increase in accrued expenses of $1.3 million and an increase in advance customer payments of $247,000. Changes in operating assets and liabilities using cash included an increase in inventories of $5.2 million, a decrease in accounts payable of $1.9 million and a decrease in operating lease liabilities of $772,000. Accounts and trade notes receivable decreased due to an improvement in the rate of collections. Sales of sensor products, which typically have shorter collection cycles than sales of our inspection and metrology system products, were higher in the fourth quarter of 2020, when compared to the fourth quarter of 2019. The increase in accrued expenses was mainly due to bonus accruals resulting from our improved financial performance. Advance customer payments were up due to an increase in deposits for equipment prior to transfer of control. The increase in inventories was due to planned purchases of raw materials in the third quarter of 2020 to meet anticipated customer demand for SQ3000 Multi-Function systems. The decrease in accounts payable was due to the timing of raw material purchases, with lower purchases of raw materials in the fourth quarter of 2020, when compared to the fourth quarter of 2019. Operating lease liabilities decreased due to monthly rental payments under our facility leases.

 

Operating activities provided $2.1 million of cash in 2019. The amount of cash provided by operations was favorably impacted by our net income of $774,000. Net income was affected by non-cash expenses totaling $5.2 million for depreciation and amortization, non-cash operating lease expense, provision for doubtful accounts, deferred taxes, non-cash losses from foreign currency transactions, share-based compensation costs, and various non-cash gains and losses. Changes in operating assets and liabilities providing cash included a decrease in prepaid expenses and other assets of $539,000. Changes in operating assets and liabilities using cash included an increase in accounts and trade notes receivable of $1.2 million, an increase in inventories of $439,000, a decrease in accounts payable of $1.5 million, a decrease in accrued expenses of $856,000 and a decrease in operating lease liabilities of $308,000. Prepaid expenses and other assets mainly decreased because deposits previously paid to a key supplier of materials were used to purchase inventories. Accounts and trade notes receivable increased due to slower collection of accounts receivable. Sales of inspection and metrology systems, which typically have longer collection periods than sales of our sensor products, were higher in the later half of 2019, when compared to the later half of 2018. The increase in inventories was due to the purchase of materials to support the launch of new products, including our ultra-high resolution 3D NanoResolution MRS sensor and 3D MX3000 AOI system for inspection of memory modules. Accounts payable decreased due to the timing of inventory purchases, with excess raw material purchases from the first half of 2019 being consumed in the later half of 2019, resulting in fewer raw material purchases in the fourth quarter of 2019, when compared to the fourth quarter of 2018. Accrued expenses decreased due to lower compensation accruals, resulting from payment of 2018 bonuses in early 2019, and lower bonuses for 2019. Operating lease liabilities decreased due to monthly rental payments under our facility leases.


Investing activities used $3.3 million of cash in 2020 and $5.6 million of cash in 2019. Changes in the level of investment in marketable securities, resulting from the purchases, sales and maturities of those securities used $1.6 million of cash in 2020 and $4.2 million of cash in 2019. We used $1.7 million of cash in 2020 and $1.5 million of cash in 2019 for the purchase of fixed assets and capitalized patent costs. Proceeds of $84,000 were received in 2019 from the sale of equipment.

 

Financing activities used $23,000 of cash in 2020 and provided $31,000 of cash in 2019. Proceeds from the exercise of stock options and share purchases under our employee stock purchase plan provided $582,000 of cash in 2020 and $451,000 of cash in 2019. Tax payments for shares withheld related to stock option exercises and vesting of restricted stock units used $605,000 of cash in 2020 and $67,000 of cash in 2019. In July 2019, our Board of Directors authorized a $3.0 million share repurchase program which expired on June 30, 2020. No shares were repurchased under this program in 2020 prior to its expiration. Share repurchases under this program used $353,000 of cash in 2019. 

 


At December 31, 2020, we did not have any relationships with unconsolidated entities or financial partnerships, such as entities often referred to as structured finance or special purpose entities. These entities are established by some companies for the purpose of establishing off-balance sheet arrangements or for other contractually narrow or limited purposes.


In February 2020, we finalized a new lease for our existing 19,805 square foot mixed office and warehouse facility in Singapore, which serves as a sales, development and final assembly and integration facility for our inspection and metrology system products. The new lease does not contain any incentives or renewal options and runs through July 24, 2023. Rent and facility operating costs under the new lease are expected to remain unchanged when compared to the old lease that expired in July 2020.


Except for obligations under facility leases and purchase contracts, we had no material commitments for expenditures as of December 31, 2020. Purchase commitments for raw materials and other inventory can vary based on the volume of revenue and resulting inventory requirements.


Our cash, cash equivalents and marketable securities totaled $30.6 million at December 31, 2020. We believe that on-hand cash, cash equivalents and marketable securities, coupled with anticipated future cash flow from operations, will be adequate to fund our cash flow needs for the foreseeable future, including the contractual obligations mentioned above.

 

Inflation and Foreign Currency Transactions

 

Changes in our revenues have resulted primarily because of changes in the level of unit shipments due to competitive factors and the relative strength or weakness of the worldwide SMT and semiconductor capital equipment markets. We believe that inflation has not had a significant effect on our operations.

 

Most of our international export sales are negotiated, invoiced and paid in U.S. dollars. We manufacture our inspection and metrology system products in Singapore and a portion of our raw material purchases are denominated in Singapore dollars. We also have R&D and sales personnel located in Singapore and sales offices located in other parts of the world. Although currency fluctuations do not significantly affect our revenue, they can impact our costs and influence the price competitiveness of our products and the willingness of existing and potential customers to purchase our products.

 

Critical Accounting Policies and Estimates


Our discussion and analysis of financial condition and results of operations is based upon our consolidated financial statements, which have been prepared in accordance with GAAP. The preparation of these consolidated financial statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. On an on-going basis, we evaluate these estimates, including estimates related to revenue recognition, bad debts, warranty obligations, inventory valuation, intangible assets, and income taxes. We base these estimates on historical experience and on various other assumptions that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Our actual results may differ from these estimates under different assumptions or conditions. The estimates and judgments that we believe have the most effect on our reported financial position and results of operations are as follows: 

 

Revenue Recognition.

 

Revenue is measured based on the consideration specified in a contract with a customer. A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account for purposes of revenue recognition. Revenue from all customers, including distributors, is recognized when a performance obligation is satisfied by transferring control of a product or service to a customer. Amounts billed to customers for shipping and handling are included in revenue. Taxes collected from customers and remitted to governmental authorities are excluded from revenue on the net basis of accounting. Accounts receivable are due under normal trade terms, generally 120 days or less.

 

Sales involving multiple performance obligations typically include the sale of an inspection or metrology systems product, installation and training, and in some cases, an extended warranty. When a sale involves multiple performance obligations, we account for individual products and services separately if the customer can benefit from the product or service on its own or with other resources that are readily available to the customer and the product or service are separately identifiable from other promises in the arrangement. The consideration is allocated between separate performance obligations in proportion to their estimated stand-alone selling price. If the stand-alone selling price is not directly observable, we use the cost plus margin approach to estimate stand-alone selling price. Costs related to products delivered are recognized in the period revenue is recognized, including product warranties for periods ranging from 1 to 3 years.



Our performance obligations are satisfied at a point in time or over time as work progresses. Revenue from products and services transferred to customers at a point in time totaled $68.4 million, or 98% of our total revenue in 2020, and $57.2 million, or 97% of our total revenue in 2019. Revenue from these contracts is recognized when obligations under the terms of the contract with our customers are satisfied, which is generally with the transfer of control upon shipment. Sales of some products may require customer acceptance due to performance or other acceptance criteria that is considered more than a formality. For these product sales, revenue is recognized upon notification of customer acceptance.


Revenue from products and services transferred to customers over time totaled $1.7 million, or 2% of our total revenue in 2020, and $2.0 million, or 3% of our total revenue in 2019. Periodically, sensor product arrangements with our OEMs will create an asset with no alternative use and include an enforceable right to payment. For these arrangements, control is transferred over the manufacturing process; therefore, revenue is recognized over time utilizing an input method based on actual costs incurred in the manufacturing process to date relative to total expected production costs. For certain longer duration 3D scanning service projects, we progress bill as the services are performed. These arrangements create an asset with no alternative use and include an enforceable right to payment. For these arrangements, control is transferred over the hours incurred to complete the scanning project; therefore, revenue is recognized over time utilizing an input method based on actual hours incurred relative to total projected project hours. For maintenance and extended warranty contracts, revenue is recognized over time on a straight-line basis over the term of the contract as the customer simultaneously receives and consumes the benefits of the coverage.

 

 Allowance for Doubtful Accounts and Trade Notes.

 

We maintain allowances for doubtful accounts for estimated losses resulting from the inability of our customers to make required payments. In making the determination of the appropriate allowance for doubtful accounts, we consider specific accounts, historical write-offs, changes in customer relationships and credit worthiness and concentrations of credit risk. Specific accounts and trade notes receivable are written-off once a determination is made that the account is uncollectible. If the financial condition of our customers were to deteriorate, resulting in an impairment of their ability to make payments, additional allowances may be required. The allowance for doubtful accounts and trade notes was $302,000 at December 31, 2020 and $322,000 at December 31, 2019.

 

Allowance for Warranty Expenses.

 

We provide for the estimated cost of product warranties at the time revenue is recognized. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of components provided by suppliers, warranty obligations do arise. These obligations are affected by product failure rates, the costs of materials used and service delivery expenses incurred in correcting a product failure. If actual product failure rates and material or service delivery costs differ from our estimates, revisions to the estimated warranty liability are required and could be material. The allowance for warranties was $839,000 at December 31, 2020 and $798,000 at December 31, 2019.

 

Inventory Write Downs.

 

We write down inventory for estimated obsolescence or lack of marketability equal to the difference between the cost of inventory and the estimated market value based upon assumptions about future demand and market conditions. We formulate our assumptions regarding future demand and market conditions based on order trends and input from customers regarding their future requirements. If actual market conditions are less favorable than those projected, or if in the future we decide to discontinue sales and marketing of any of our products, additional inventory write-downs may be required. Excess and obsolete inventories were written down by $752,000 at December 31, 2020 and $649,000 at December 31, 2019.

 

Valuation of Intangible and Long-Lived Assets. 

 

We evaluate the carrying value of goodwill annually on December 31, and more frequently if management believes indicators of impairment exist. We assess the impairment of identifiable intangible assets, long lived assets and related goodwill whenever events or changes in circumstances indicate the carrying value may not be recoverable. Factors we consider important, which could trigger an impairment review and that we consider when performing our annual goodwill impairment assessment, include the following:

  


Significant under-performance relative to expected historical or projected future operating results. 

  


Significant changes in the manner of our use of the acquired assets or the strategy for our overall business. 

  


Significant negative industry or economic trends. 

  


Significant decline in the price of our common stock for a sustained period, and the size of our market capitalization relative to our net book value.

  


For intangible and long-lived assets, if the carrying value exceeds the undiscounted cash flows from such asset. 


 

When we determine that the carrying value of intangibles, long-lived assets and related goodwill may not be recoverable based upon the existence of one or more of the above indicators of impairment, we measure any potential impairment based on a projected discounted cash flow method using a discount rate that we believe is commensurate with the risk inherent in our current business model. We utilize the income approach to estimate our fair value. The income approach is a valuation technique under which we estimate future cash flows using financial forecasts. Future estimated cash flows are discounted to their present value to calculate fair value. When determining fair value, we also give consideration to the control premium in excess of our current market capitalization that might be obtained from a third party acquirer. These assumptions require significant judgment and actual results may differ from assumed or estimated amounts.

 

At December 31, 2020, we had goodwill of $1.4 million. Our recent analysis performed as of December 31, 2020 indicates that our goodwill is not impaired. However, our conclusion could change in the future, if our assumptions about future economic conditions, revenue growth or profitability change. Any resulting impairment charge could have a material effect on our financial position and results of operations in the future.

 

Income Taxes.

 

Significant judgment is required in determining worldwide income tax expense based upon tax laws in the various jurisdictions in which we operate. We have established reserves for uncertain tax positions by applying the “more likely than not” threshold (i.e., a likelihood of occurrence greater than fifty percent). The recognition threshold is met when an entity concludes that a tax position, based solely on its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority. Those tax positions failing to qualify for initial recognition are recognized in the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statute of limitations. De-recognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained. All tax positions are analyzed periodically and adjustments are made as events warrant modification, such as the completion of audits or the expiration of statutes of limitations, which may result in future charges or credits to income tax expense.

 

As part of the process of preparing our consolidated financial statements, management is required to estimate income taxes in each of the jurisdictions in which we operate. This process involves estimating the current tax liability, as well as assessing temporary differences arising from the different treatment of items for financial statement and tax purposes. These differences result in deferred tax assets and liabilities, which are recorded on our consolidated balance sheet.


We have significant deferred tax assets as a result of temporary differences between the taxable income on our tax returns and U.S. GAAP income, R&D tax credit carry forwards and state net operating loss carry forwards. A deferred tax asset generally represents future tax benefits to be received when temporary differences previously reported in our consolidated financial statements become deductible for income tax purposes, when net operating loss carry forwards could be applied against future taxable income, or when tax credit carry forwards are utilized on our tax returns. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on the guidance provided in current financial accounting standards. 

 

Significant judgment is required in determining the realizability of our deferred tax assets. The assessment of whether valuation allowances are required considers, among other matters, the nature, frequency and severity of any current and cumulative losses, forecasts of future profitability, the duration of statutory carry forward periods, our experience with credit and loss carry forwards not expiring unused and tax planning alternatives. In analyzing the need for valuation allowances, we first considered our history of cumulative operating results for income tax purposes over the past three years in each of the tax jurisdictions in which we operate, our financial performance in recent quarters, statutory carry forward periods and tax planning alternatives. In addition, we considered both our near-term and long-term financial outlook. After considering all available evidence (both positive and negative), we concluded that recognition of valuation allowances for substantially all of our U.S. and Singapore based deferred tax assets was not required at December 31, 2020 or December 31, 2019. The valuation allowance recorded against our deferred tax assets at December 31, 2020 was reduced by $265,000, mainly for U.S. federal R&D tax credits that were used or expired. 

 


Not applicable

  

 

 

CONSOLIDATED BALANCE SHEETS 

CYBEROPTICS CORPORATION

 

 

 

 

 

 

 

 

 

 

 

December 31,

 

December 31,

(In thousands, except share information)

 

2020

 

2019

ASSETS

 

 

 

 

 

 

Cash and cash equivalents

 

$

8,399

 

 

$

5,836

 

Marketable securities

 

8,121

 

 

8,295

 

Accounts receivable, less allowance for doubtful accounts of $302 at December 31, 2020 and $322 at December 31, 2019

 

14,735

 

 

16,059

Inventories

 

20,271

 

 

15,580

 

Prepaid expenses
686

559

Other current assets

 

890

 

 

1,020

 

Total current assets

 

53,102

 

 

47,349

 

 

 

 

 

 

Marketable securities, long-term

 

14,052

 

 

12,168

 

Equipment and leasehold improvements, net

 

3,235

 

 

3,341

 

Intangibles, net

 

325

 

 

310

 

Goodwill

 

1,366

 

 

1,366

 

Right-of-use assets (operating leases)
2,621

2,111
Trade notes receivable, long-term
418

962

Deferred tax assets

 

4,597

 

 

4,992

 

Total assets

 

$

79,716

 

 

$

72,599

 

 

 

 

 

 

LIABILITIES AND STOCKHOLDERS’ EQUITY

 

 

 

 

 

 

Accounts payable

 

$

5,118

 

 

$

7,023

 

Advance customer payments

 

823

 

 

499

 

Accrued expenses

 

3,893

 

 

2,572

 

Current operating lease liabilities
819

688

Total current liabilities

 

10,653

 

 

10,782

 

 

 

 

 

 

Other liabilities

 

134

 

 

202

 

Long-term operating lease liabilities
3,244

3,141

Reserve for income taxes

 

157

 

 

150

 

Total liabilities

 

14,188

 

 

14,275

 

 

 

 

 

 

Commitments and contingencies

 

 

 

 

 

 

 

 

 

 

 

Stockholders’ equity:

 

 

 

 

 

 

Preferred stock, no par value, 5,000,000 shares authorized, none outstanding

 

 

 

 

Common stock, no par value, 25,000,000 shares authorized, 7,294,617 shares issued and outstanding at December 31, 2020 and 7,154,591 shares issued and outstanding at December 31, 2019

 

37,817

 

 

36,659

 

Accumulated other comprehensive loss

 

(1,102

)

 

(1,406

)

Retained earnings

 

28,813

 

 

23,071

 

Total stockholders’ equity

 

65,528

 

 

58,324

 

Total liabilities and stockholders’ equity

 

$

79,716

 

 

$

72,599

 

 

THE ACCOMPANYING NOTES ARE AN INTEGRAL PART OF THE CONSOLIDATED FINANCIAL STATEMENTS.

 

 

CONSOLIDATED STATEMENTS OF OPERATIONS

CYBEROPTICS CORPORATION 

 

 



 

 

 

 

 

 

 

Year Ended December 31,

(In thousands, except per share amounts)

 

2020

 

2019

Revenues

 

$

70,117

 

 

$

59,263

 

Cost of revenues

 


38,900

 

 

32,961

 

 

 


 

 

 

 

Gross margin

 

 

31,217

 

 

26,302

 








Research and development expenses

 


9,572

 

 

9,362

 

Selling, general and administrative expenses

 


15,648

 

 

16,004

 









Income from operations

 


5,997

 

 

936

 

 

 


 

 

 

 

Interest income and other, net


357

224

 

 


 

 

 

 

Income before income taxes

 


6,354

 

 

1,160

 

 

 


 

 

 

 

Income tax provision

 


612

 

 

386

 

 


 

 

 

 

Net income 

 

$

5,742

 

 

$

774

 

 


 

 

 

 

Net income per share – Basic

 

$

0.80

 

 

$

0.11

 

Net income per share – Diluted

 

$

0.77

 

 

$

0.11

 

 

 



 

 

 

Weighted average shares outstanding – Basic

 


7,215

 

 

7,113

 

Weighted average shares outstanding – Diluted

 


7,454

 

 

7,262

 

 

THE ACCOMPANYING NOTES ARE AN INTEGRAL PART OF THE CONSOLIDATED FINANCIAL STATEMENTS.

 

 

CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME 

CYBEROPTICS CORPORATION

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Net income

 

5,742

 

 

$

774

 

 

 

 

 

 

 

 

Other comprehensive income, before tax:

 

 

 

 

 

 

 

Foreign currency translation adjustments

 

 

190

 

174

 

 

 

 

 

 

 

Unrealized gains on available-for-sale securities

 

 

145

 

138


 

 

 

 

 

 

 

Total other comprehensive income before income taxes

 

 

335

 

312









Income tax provision

 

 

31

 

28









Total other comprehensive income after income taxes

 

 

304

 

284









Total comprehensive income

 

6,046

 

 

$

1,058

 

 

THE ACCOMPANYING NOTES ARE AN INTEGRAL PART OF THE CONSOLIDATED FINANCIAL STATEMENTS.

 

 

CONSOLIDATED STATEMENTS OF CASH FLOWS

CYBEROPTICS CORPORATION 

 

 

Year Ended December 31,

(In thousands)

 

2020


2019

CASH FLOWS FROM OPERATING ACTIVITIES:

 


 


 

 

Net income

 

$

5,742


 

$

774

 

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

 


 


 

 

Depreciation and amortization

 


2,629


 

2,832

 

Non-cash operating lease expense

521

828

(Recovery) provision for doubtful accounts

 


(20

)

 

8

Deferred taxes

 


366

 

393


Foreign currency transaction (gains) losses

 


(97

)


127

Share-based compensation

 


1,181

 

 

991

  

Unrealized loss on available for sale equity security

18

12
Gain on sale of equipment


(26)

Changes in operating assets and liabilities:

 


 

 

 

 

Accounts and trade notes receivable

 


1,888

 

(1,170

)

Inventories

 


(5,212

)

 

(439

)

Prepaid expenses and other assets

 


49

 

539

Accounts payable

 


(1,903

)

 

(1,529)

Advance customer payments and other

 


247

 

(49)

Accrued expenses

 


1,321

 

(856)

Operating lease liabilities

(772 )
(308)

Net cash provided by operating activities

 


5,958

 

 

2,127

 

 


 

 

 

 

CASH FLOWS FROM INVESTING ACTIVITIES:

 


 

 

 

 

Proceeds from maturities of available-for-sale marketable securities

 


11,576

 

 

7,835

 

Purchases of available-for-sale marketable securities

 


(13,186

)

 

(12,033

)

Proceeds from sale of equipment



84

Additions to equipment and leasehold improvements

 


(1,527

)

 

(1,301

)

Additions to patents

 


(212

)

 

(150

)

Net cash used in investing activities

 


(3,349

)

 

(5,565

)

 

 


 

 

 

 

CASH FLOWS FROM FINANCING ACTIVITIES:

 


 

 

 

 

Proceeds from exercise of stock options

 


358

 

 

248

 

Tax payments related to shares withheld for share-based compensation plans

 

(605

)

 

(67

Common stock repurchases

 

 

 

(353

)

Proceeds from issuance of common stock under employee stock purchase plan

 


224

 

 

203

 

Net cash (used in) provided by financing activities

 


(23

)

 

31

 

 

 


 

 

 

 

Effects of exchange rate changes on cash and cash equivalents

 


(23

)

 

(5

)

 

 


 

 

 

 

Net increase (decrease) in cash and cash equivalents

 


2,563

 

(3,412

)

 

 


 

 

 

 

Cash and cash equivalents – beginning of period

 


5,836

 

 

9,248

 

Cash and cash equivalents – end of period

 

$

8,399

 

 

$

5,836

 

 

THE ACCOMPANYING NOTES ARE AN INTEGRAL PART OF THE CONSOLIDATED FINANCIAL STATEMENTS.

 


CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

CYBEROPTICS CORPORATION

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Common Stock

 

Accumulated Other Comprehensive Loss

 

Retained Earnings

 

Total Stockholders’ Equity

(In thousands)

 

Shares

 

Amount

 

 

 

BALANCE, December 31, 2018

 


7,101

 

 

$

35,637

 

 

(1,690

)

 

22,264

 

 

$

56,211

 


















Adoption of ASU 2016-02

 

 

 

 

 

 

 

33

 

 

33

 


















Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment

 


58

 

 

248

 

 

 

 

 

 

248

 


















Tax payments related to shares withheld for share-based compensation plans

 

 

(4

)

 

(67

)

 

 

 

 

 

(67

)

















Share issuances for director compensation

 


8

 

 

 

 

 

 

 

 

 


















Share-based compensation

 


 

 

991

 

 

 

 

 

 

991

 


















Issuance of common stock under Employee Stock Purchase Plan

 


18

 

 

203

 

 

 

 

 

 

203

 


















Repurchase of common stock

(26 )
(353 )




(353 )

















Other comprehensive income, net of tax

 


 

 

 

 

284

 

 

 

284


















Net income

 


 

 

 

 

 

 

774

 

 

774

 






















BALANCE, December 31, 2019

 


7,155

 

 


36,659

 

 


(1,406

)

 


23,071

 

 


58,324

 


















Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment

 


135

 

 

358

 

 

 

 

 

 

358

 


















Tax payments related to shares withheld for share-based compensation plans

 

 

(23

)

 

(605

)

 

 

 

 

 

(605

)

















Share issuances for director compensation 

 


8

 


 

 

 

 

 

 


 


















Share-based compensation

 


 

 

1,181

 

 

 

 

 

 

1,181

 


















Issuance of common stock under Employee Stock Purchase Plan

 


20

 

 

224

 

 

 

 

 

 

224

 


















Other comprehensive income, net of tax

 


 

 

 

 

304

 

 

 

304


















Net income

 


 

 

 

 

 

 

5,742

 

 

5,742

 






















BALANCE, December 31, 2020



7,295



$

37,817



$

(1,102

)


$

28,813



$

65,528


 

THE ACCOMPANYING NOTES ARE AN INTEGRAL PART OF THE CONSOLIDATED FINANCIAL STATEMENTS.

 

 

 

NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS

CYBEROPTICS CORPORATION

 

NOTE 1 BUSINESS DESCRIPTION AND SIGNIFICANT ACCOUNTING POLICIES

Description of Business

We are a leading global developer and manufacturer of high precision 3D sensors and systems for inspection and metrology. We also develop and manufacture our WaferSense® products, a family of wireless, wafer-shaped sensors that provide measurements of critical factors in the semiconductor fabrication process. Our sensors and system products are used in surface mount technology (SMT) and semiconductor markets to significantly improve yields and productivity.

Principles of Consolidation

The consolidated financial statements include the accounts of CyberOptics Corporation and its wholly-owned subsidiaries. In these notes to the consolidated financial statements, these companies are collectively referred to as “CyberOptics,” “we,” “us,” or “our.” All significant inter-company accounts and transactions have been eliminated in consolidation.


Segment Reporting

We operate in a single reportable segment that includes the design, development and manufacture of high precision sensing, inspection and metrology solutions for the SMT and semiconductor markets.


Use of Estimates

The preparation of consolidated financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates.


Cash and Cash Equivalents

We consider all highly liquid investments purchased with an original maturity of 90 days or less to be cash equivalents. Cash and cash equivalents consist of funds maintained in demand deposit accounts, money market accounts, certificate of deposits, corporate debt instruments and U.S. government backed obligations. Cash and cash equivalent balances, at times, may exceed federally insured limits. 


Marketable Securities


All marketable securities are classified as available-for-sale and consist of U.S. government and agency backed obligations, certificates of deposit, corporate debt instruments, asset backed securities or equity securities. Marketable securities are classified as short-term or long-term in the consolidated balance sheets based on their maturity date and expectations regarding sales.


Available-for-sale securities are carried at fair value. Unrealized gains and losses for marketable debt securities are reported as a separate component of stockholders’ equity until realized. Unrealized gains and losses for marketable equity securities are recognized in net income. Fair values are primarily determined using quoted market prices or valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The carrying amounts of securities, for purposes of computing unrealized gains and losses, are determined by specific identification. The cost of securities sold is also determined by specific identification.

We monitor the carrying value of our marketable debt securities compared to their fair value to determine whether an other-than-temporary impairment has occurred. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. If a decline in fair value of our marketable debt securities is determined to be other-than-temporary, an impairment charge related to that specific investment is recorded in net income.


Cash and marketable securities held by foreign subsidiaries totaled $672,000 at December 31, 2020 and $327,000 at December 31, 2019.


Inventories

 

Inventories are stated at the lower of cost or net realizable value, with cost determined using the first-in, first-out (FIFO) method. Appropriate consideration is given to deterioration, obsolescence, and other factors in evaluating net realizable value.  

 

Accounts and Trade Notes Receivable


We extend unsecured credit to our customers in the normal course of business. We periodically provide financing to customers for the purchase of SQ3000 Multi-Function system products. Trade notes receivable bear interest at annual effective rates ranging from approximately 5% to 7%, and are repayable over periods ranging from 18 to 36 months. The current portion of the trade notes are classified as accounts receivable in the accompanying balance sheets.


Interest income will be discontinued for any trade notes receivable with a specific reserve established if it is likely that we will be unable to collect all amounts due according to the original terms of the trade notes. For these trade notes receivable, cash collection will first be applied as a reduction to principal outstanding. Any cash received in excess of the outstanding principal payments will be recognized as interest income. Trade notes receivable may be removed from non-accrual status with respect to interest income based upon changes in customer circumstances, including a sustained history of payments. At December 31, 2020, none of our trade notes receivable were in a non-accrual status with respect to interest income.


Allowance for Doubtful Accounts and Trade Notes 

 

Allowances for doubtful accounts are maintained for estimated losses resulting from the inability of our customers to make required payments. In making the determination of the appropriate allowance for doubtful accounts, we consider specific accounts, historical write-offs, changes in customer relationships and credit worthiness and concentrations of credit risk. Specific accounts and trade notes receivable are written-off once a determination is made that the account is uncollectible.

 

Equipment and Leasehold Improvements

 

Equipment and leasehold improvements are stated at cost. Significant additions or improvements extending asset lives are capitalized, while repairs and maintenance are charged to expense as incurred. In-progress costs are capitalized with depreciation beginning when assets are placed in service. Depreciation is recorded using the straight-line method over the estimated useful lives of the equipment, ranging from one to seven years. Leasehold improvements are amortized using the straight-line method over the shorter of the asset useful life or the underlying lease term, ranging from one to eight years. Gains or losses on dispositions are included in current operations.

 

Goodwill

 

Goodwill represents the excess of purchase price over the fair value of net assets acquired in a business combination. We have determined that we have one reporting unit. We evaluate the carrying value of goodwill annually on December 31st and more frequently if management believes indicators of impairment exist. Such indicators could include, but are not limited to (1) a significant adverse change in legal factors or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. We first assess qualitative factors to determine whether it is more likely than not that our fair value is greater than carrying value (i.e. net book value). If we conclude that it is more likely than not that our fair value is greater than carrying value, no further testing is required. If we conclude that it is more likely than not that our fair value is less than carrying value, we estimate our fair value using the income approach. The income approach is a valuation technique under which we estimate future cash flows using financial forecasts. Future estimated cash flows are discounted to their present value to calculate fair value. When considering fair value, we also give consideration to the control premium in excess of our current market capitalization that might be obtained from a third party acquirer. Goodwill impairment is measured as the amount by which our carrying value exceeds our fair value, but not in an amount in excess of the carrying value of goodwill.

 

On December 31, 2020 and 2019, we performed a qualitative assessment to determine if there was any indication that our goodwill might be impaired. After considering all available evidence, including our financial performance, financial outlook and current market capitalization, we concluded that it is more likely than not that our fair value is greater than carrying value. As a result, no further testing was deemed necessary, and we determined that our goodwill was not impaired. Therefore, no amounts were recorded for goodwill impairment in 2020 or 2019.


Patents

 

Patents consist of legal and patent registration costs for protection of our proprietary technology. We amortize patent costs on a straight-line basis, based upon their estimated life.



Long Lived Assets

 

Intangible assets subject to amortization and other long-lived assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of the assets may not be recoverable. An impairment loss would be recognized when future undiscounted cash flows expected to result from use of the asset and eventual disposition are less than the carrying amount. 


Operating Leases


We determine if an arrangement is a lease at inception. Operating leases are recorded in operating lease right-of-use (ROU) assets, current operating lease liabilities, and long-term operating lease liabilities in our consolidated balance sheets. ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized based on the present value of lease payments over the lease term. The operating lease ROU assets exclude lease incentives. As our leases do not provide an implicit rate, we use our incremental borrowing rate to determine the present value of lease payments. Our leases may include renewal options to extend the lease term, the exercise of which are at our sole discretion. In our accounting treatment of leases, the lease terms used do not include any option to extend the lease, because it is not reasonably certain that we will exercise the option. Lease expense is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components (e.g., common-area or other maintenance costs) which are generally accounted for separately and expensed monthly. We do not recognize a ROU asset and lease liability for leases having a term of 12 months or less at the effective date.


Revenue Recognition

 

Revenue is measured based on consideration specified in the contract with a customer. A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account for purposes of revenue recognition. Revenue from all customers, including distributors, is recognized when a performance obligation is satisfied by transferring control of a product or service to a customer. Amounts billed to customers for shipping and handling are included in revenue. All shipping and handling costs associated with outbound freight are accounted for as fulfillment costs and are included in cost of sales. Taxes collected from customers and remitted to governmental authorities are excluded from revenue on the net basis of accounting. Accounts receivable are due under normal trade terms, typically 120 days or less.


Our performance obligations are mostly satisfied at a point in time and to a lesser extent over time as work progresses. Revenue for products and services transferred to customers at a point in time is recognized when obligations under the terms of the contract with our customer are satisfied; generally with the transfer of control upon shipment. Sales of some products may require customer acceptance due to performance or other acceptance criteria that is considered more than a formality. For these product sales, revenue is recognized upon notification of customer acceptance.


Sales involving multiple performance obligations typically include the sale of an inspection or metrology systems product, installation and training, and in some cases, an extended warranty. When a sale involves multiple performance obligations, we account for individual products and services separately if the customer can benefit from the product or service on its own or with other resources that are readily available to the customer and the product or service are separately identifiable from other promises in the arrangement. Undelivered performance obligations in an arrangement are typically minimal, consisting of undelivered installation and training services. The consideration is allocated between separate performance obligations in proportion to their estimated stand-alone selling price. If the stand-alone selling price is not directly observable, we use the cost plus margin approach to estimate stand-alone selling price. Costs related to products delivered are recognized in the period revenue is recognized; including product warranties for periods ranging from 1 to 3 years (see Note 9).

 

Periodically, sensor product arrangements with our original equipment manufacturers (OEM's) will create an asset with no alternative use and include an enforceable right to payment. For these arrangements, control is transferred over the manufacturing process; therefore, revenue is recognized over time utilizing an input method based on actual costs incurred in the manufacturing process to date relative to total expected production costs. For certain longer duration 3D scanning service projects, we progress bill as the services are performed. These arrangements create an asset with no alternative use and include an enforceable right to payment. For these arrangements, control is transferred over the hours incurred to complete the scanning project; therefore, revenue is recognized over time utilizing an input method based on actual hours incurred relative to total projected project hours. For maintenance and extended warranty contracts, revenue is recognized over time on a straight-line basis over the term of the contract as the customer simultaneously receives and consumes the benefits of the coverage.

 

Practical Expedients 


We generally expense the incremental costs of obtaining a contract when incurred because the amortization period for these costs would be less than one year. These costs primarily relate to sales commissions and are recorded in selling, general and administrative expense in our consolidated statements of operations. 


We do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less, primarily consisting of product installation and training. We do not adjust the promised amount of consideration for the effects of a significant financing component if we expect, at contract inception, that the period between when we transfer a promised good or service to a customer and when the customer pays for that good or service will be one year or less. 



Foreign Currency Translation

Financial position and results of operations of our international subsidiaries are measured using local currency as their functional currency. Assets and liabilities of these operations are translated at the exchange rates in effect at each fiscal year-end. Statements of operations accounts are translated at the average rates of exchange prevailing during the year. Translation adjustments arising from the use of differing exchange rates from period to period are included as a cumulative translation adjustment in stockholders’ equity.

Foreign Currency Transactions

Foreign currency transaction gains and losses are included in interest income and other, net in the statement of operations. We recognized foreign currency transaction gains of $27,000 in 2020. We recognized foreign transaction losses of $127,000 in 2019.


Research and Development

Research and development (R&D) costs, including product software development, are expensed when incurred. Product software development costs are required to be expensed until the point that technological feasibility and proven marketability of the product are established; costs otherwise capitalizable after such point also are expensed because they are insignificant. All other R&D costs are expensed as incurred. R&D expenses consist primarily of salaries, project materials, contract labor and other costs associated with ongoing product development and enhancement efforts.

 

Advertising Costs

We expense all advertising costs as incurred. Advertising expenses were $371,000 in 2020 and $408,000 in 2019.

 

Warranty Costs

 

We provide for the estimated cost of product warranties, which cover products for periods ranging from one to three years at the time revenue is recognized.

Income Taxes

We evaluate uncertain tax positions using the “more likely than not” threshold (i.e., a likelihood of occurrence greater than fifty percent). The recognition threshold is met when an entity concludes that a tax position, based solely on its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority. Those tax positions failing to qualify for initial recognition are classified as a gross unrecognized tax benefit until the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statute of limitations. De-recognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.

 

Only the portion of the unrecognized tax benefit that is expected to be paid within one year is classified as a current liability. As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statute of limitations) or are not expected to be paid within one year are not classified as current. It is our policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.

Deferred income taxes are recorded to reflect the tax consequences in future years of differences between the financial reporting and tax bases of assets and liabilities. Income tax expense is the sum of the tax currently payable and the change in the deferred tax assets and liabilities during the period, excluding changes in deferred tax assets recorded to goodwill. Valuation allowances are established when, in the opinion of management, it is more likely than not that some portion or all of the deferred tax assets will not be realized. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on all positive and negative evidence.


Net Income Per Share


Basic net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. Common equivalent shares consist of common shares to be issued upon exercise of stock options, vesting of restricted stock units, vesting of restricted shares and from purchases of shares under our employee stock purchase plan, as calculated using the treasury stock method. Common equivalent shares are excluded from the calculation of net income per diluted share if their effect is anti-dilutive.



Comprehensive Income


Total comprehensive income and the components of accumulated other comprehensive loss are presented in the Consolidated Statements of Comprehensive Income and the Consolidated Statements of Stockholders' Equity. Accumulated other comprehensive loss is composed of foreign currency translation effects and unrealized gains and losses on available-for-sale marketable debt securities. We use the individual item approach for releasing income tax effects from accumulated other comprehensive loss.


Fair Value of Financial Instruments 


The carrying amounts of financial instruments such as cash equivalents, accounts receivable, other assets, accounts payable, advance customer payments, accrued expenses and other liabilities approximate their related fair values due to the short-term maturities of these instruments. The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial.


Share-Based Compensation


All share-based payments to employees, including grants of stock options, are required to be recognized as an expense in our consolidated statements of operations based on the grant date fair value of the award. We utilize the straight-line method of expense recognition over the award’s service period for our graded vesting options. The fair value of stock options has been determined using the Black-Scholes model. We account for the impact of forfeitures related to employee share-based payment arrangements when the forfeitures occur. We have classified employee share-based compensation within our consolidated statements of operations in the same manner as our cash based employee compensation costs.

See Note 7 to the consolidated financial statements for additional information related to employee share-based compensation. 


Related Party Transactions


We periodically sell or purchase products from companies for which our board members serve in an executive capacity and in some cases on the board of directors. These transactions occur in the normal course of business. Our cumulative sales to these companies were $40,000 in 2020 and $4,000 in 2019Our cumulative purchases from these companies were $59,000 in 2020.  There were no such purchases in 2019. 


Recent Accounting Developments


In February 2016, the Financial Accounting Standards Board (FASB) issued new lease accounting guidance, ASU 2016-02, Leases (Topic 842), which we adopted on January 1, 2019. Under Topic 842, lessees are required (a) to recognize a lease liability, which is a lessee's obligation to make lease payments arising from a lease, measured on a discounted basis, and (b) to record a right-of-use asset, which is an asset that represents the lessee’s right to use, or control the use of, a specified asset for the lease term. In July 2018, the FASB issued ASU 2018-11, Leases (Topic 842), Targeted Improvements, which gave companies the option of applying the new standard at the adoption date, rather than retrospectively to the earliest period presented in the financial statements, with recognition of a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption. We chose the option to apply the new standard at the adoption date, and therefore we were not required to restate the financial statements of prior periods. Our adoption of Topic 842 on January 1, 2019 resulted in a $33,000 increase in retained earnings to record the cumulative effect adjustment. Our adoption of Topic 842 did not impact our cash flows or have a material impact on our results of operations. 


In June 2016, the FASB issued ASU No. 2016-13, Measurement of Credit Losses on Financial Instruments, which revises guidance for the accounting for credit losses on financial instruments within its scope, and in November 2018, issued ASU No. 2018-19, which amended the standard. The new standard introduces an approach to estimating credit losses that is based on expected losses (referred to as the current expected credit losses model), and applies to most financial assets measured at amortized cost and certain other instruments, including available-for-sale marketable debt securities, trade and other receivables. The new standard is effective for us on January 1, 2023, with early adoption permitted. We are required to apply the standard’s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted. We presently do not believe the new standard will have a material impact on our consolidated financial statements.


No other new accounting pronouncements are expected to have a significant impact on our consolidated financial statements.


NOTE 2 - COVID-19 PANDEMIC:


Effect of Covid-19 Outbreak on Business Operations

A novel strain of coronavirus ("Covid-19") was first identified in December 2019, and in March 2020, the World Health Organization categorized Covid-19 as a pandemic. The Covid-19 pandemic is affecting our customers, suppliers, service providers and employees, and the ultimate impacts of Covid-19 on our business, results of operations, liquidity and prospects are not fully known at this time. The Covid-19 outbreak has not had a significant impact on our business to date. However, the following factors have affected and may continue to affect our business: 
  • Our key factories are located in Minnesota and Singapore. Both of these locations have been subject to government mandated shelter-in-place orders. Because our operations have been deemed essential, we were able to keep our factories up and running while the shelter-in-place mandates were in effect. If the pandemic worsens, it is possible that our operations may not be deemed essential under future government mandated shelter-in-place orders, and we may be required to shut-down factory operations. We have periodically implemented split-shifts for our factory operations to minimize the number of employees in our facilities at any given time, but these measures have not affected our production capacity. Most of the time, our non-factory employees are working remotely. To date, the shelter-in-place mandates and remote work arrangements have had a minimal impact on operations, but material negative effects on our business could result if the pandemic worsens and continues for an extended period of time.
  • Sales of some products, mainly our SQ3000 Multi-Function systems and MX memory module inspection products, require customer acceptance due to performance or other criteria that is considered more than a formality. Most of our customer’s factories have remained open during the Covid-19 pandemic because they are deemed to be essential under government shelter-in-place mandates. However, global travel restrictions and quarantine measures have hindered our ability to obtain customer acceptances for certain of our products at various times in 2020. Continuing or new global travel restrictions and quarantine measures could hinder our ability to obtain customer acceptances in a timely manner in the future, and therefore impact the timing of revenue recognition.
  • We have experienced some supply disruptions due to the Covid-19 pandemic, mainly from suppliers not deemed essential by shelter-in-place mandates in certain countries. Key supply chain disruptions have been resolved to date. However, supply chain disruptions could increase significantly if the pandemic worsens and continues for an extended period of time. To date, our on-hand inventories have been sufficient to enable us to mitigate supply disruptions. 

Although we cannot estimate the length or gravity of the impact of the Covid-19 outbreak at this time, if the pandemic continues as expected for the foreseeable future, it may have an adverse effect on our results of future operations, financial position and liquidity in 2021 and beyond. There have been recent spikes in Covid-19 cases, and some health experts have predicted that the Covid-19 pandemic will worsen during the coming months.

United States Covid-19 Relief Legislation

On March 27, 2020, the Coronavirus Aid, Relief and Economic Security Act (the "CARES Act") was signed into law in the United States. The CARES Act, among other things, includes provisions relating to refundable payroll tax credits, deferment of employer side social security payments, net operating loss carryback periods and alternative tax credit refunds. The CARES Act also appropriated funds for the Small Business Administration Paycheck Protection Program loans that are forgivable in certain circumstances to promote continued employment. On December 27, 2020, a second relief package, the Consolidated Appropriations Act, 2021 was signed into law which set aside funding for additional loans under the Paycheck Protection Program established by the CARES Act. We have analyzed both pieces of legislation and presently do not believe they will have a material impact on our financial condition, results of operations or liquidity. However, we will continue to monitor the impact these pieces of legislation could have on our business in the future.


Singapore Jobs Support Program

 

The Singapore Government implemented a jobs support program in 2020 that was intended to support businesses and encourage retention of employees during the period of economic uncertainty caused by the Covid-19 pandemic. Under the jobs support program, the Singapore Government co-funded a portion of the gross monthly wages paid to local employees, which reduced our operating expense by $410,000 in 2020. We do not expect to receive any material benefit from the Singapore jobs support program in 2021. 


Impairment Considerations (goodwill and intangibles)

The current Covid-19 pandemic has caused a significant deterioration in global economic conditions, including high levels of unemployment and a significant contraction in economic activity. Many economists and analysts believe the Covid-19 pandemic has resulted or could result in an economic recession or depression. We evaluate the carrying value of goodwill and intangibles for impairment whenever management believes indicators of impairment might exist. A significant deterioration in macroeconomic conditions is a key indicator of possible impairment. In addition to macroeconomic conditions, management considered the factors in the FASB's Accounting Standards Codification Topic 350 when analyzing goodwill and intangibles for possible impairment, including the following:

  • Conditions in the global SMT and semiconductor capital equipment markets (including conditions resulting from the Covid-19 pandemic);
  • Our revenue and profitability in the year ended December 31, 2020;
  • Our backlog at December 31, 2020, which stood at $23.0 million;
  • Our forecasts for revenue and profitability for the first quarter of 2021 and beyond;
  • The manner of use and applicability of our intangibles, which is not expected to change; and
  • Our stock market capitalization, which is significantly greater than our net book value.

After carefully considering the factors outlined above, among others, we determined that it is more likely than not that our goodwill and intangibles were not impaired as of December 31, 2020.

NOTE 3 – REVENUE RECOGNITION

 

Performance Obligations 


Our revenue performance obligations are primarily satisfied at a point in time and limited revenue streams are satisfied over time as work progresses.


The following is a summary of our revenue performance obligations:

 



For the Year Ended December 31,


2020
2019

(In thousands)


Revenues


Percent of Revenues


Revenues

Percent of Revenues

Revenue recognized over time
$ 1,715
2 %
$ 2,029
3 %
Revenue recognized at a point in time

68,402
98 %

57,234
97 %


$ 70,117
100 %
$ 59,263
100 %


See Note 13 for additional information regarding disaggregation of revenue.


Contract Balances 


Contract assets consist of unbilled amounts from sales where we recognize the revenue over time and the revenue recognized exceeds the amount billed to the customer at a point in time. Accounts and trade notes receivable are recorded when the right to payment becomes unconditional. Contract liabilities consist of payments received in advance of performance under the contract. Contract liabilities are recognized as revenue when we perform under the contract.


The following summarizes our contract assets and contract liabilities: 


(In thousands)

 

December 31, 2020

December 31, 2019

Contract assets, included in other current assets

 

$

2

 

 

$

 2

 

Contract liabilities - advance customer payments

 

$

567

 

 

$

389

 

Contract liabilities - deferred warranty revenue
$ 344

$ 275


Changes in contract assets in 2020 and 2019 resulted from unbilled amounts under sensor product arrangements and longer duration 3D scanning service projects in which revenue is recognized over time. Changes in contract liabilities primarily resulted from reclassification of beginning contract liabilities to revenue as performance obligations were satisfied or from cash received in advance and not recognized as revenue. See Note 9 for changes in contractual obligations related to deferred warranty revenue. Unsatisfied performance obligations for deferred warranty revenue are generally expected to be recognized as revenue over the next one to three years. There were no impairment losses for contract assets in 2020 or 2019.


The following summarizes the amounts reclassified from beginning contract liabilities to revenue:

Year Ended December 31,

(In thousands)

 

2020

2019

Amounts reclassified from beginning contract liabilities to revenue

 

$

171

 

 

$

 334

 

Amounts reclassified from deferred warranty revenue

193

213

Total

$

364

$

547


NOTE 4  MARKETABLE SECURITIES


Our investments in marketable securities are classified as available-for-sale and consist of the following: 

 

 

December 31, 2020

(In thousands)

 

Cost

 

Unrealized
Gains

 

Unrealized
Losses

 

Fair Value

Short-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

4,817

 

 

$

36

 

 

$

 

$

4,853

 

Corporate debt securities and certificates of deposit

 

3,113

 

 

21

 

 

 

3,134

 

Asset backed securities

 

133

 

 

1

 

 

 

134

 

Marketable securities – short-term

 

$

8,063

 

 

$

58

 

 

$

 

$

8,121

 

Long-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

7,529

 

 

$

66

 

 

$

 

$

7,595

 

Corporate debt securities and certificates of deposit

 

3,975

 

 

61

 

 

(1

)

 

4,035

 

Asset backed securities

 

2,347

 

 

45

 

 

 

2,392

 

Equity security

 

42

 

 

 

 

(12

)

 

30

 

Marketable securities – long-term

 

$

13,893

 

 

$

172

 

 

$

(13

)

 

$

14,052

 



 

December 31, 2019

(In thousands)

 

Cost

 

Unrealized
Gains

 

Unrealized
Losses

 

Fair Value

Short-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

5,766

 

 

$

22

 

 

$

 

$

5,788

 

Corporate debt securities and certificates of deposit

 

1,085

 

 

1

 

 

 

1,086

 

Asset backed securities

 

1,417

 

 

4

 

 

 

1,421

 

Marketable securities – short-term

 

$

8,268

 

 

$

27

 

 

$

 

$

8,295

 

Long-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

6,524

 

 

$

30

 

 

$

(1

)

 

$

6,553

 

Corporate debt securities and certificates of deposit

 

3,004

 

 

14

 

 

 

3,018

 

Asset backed securities

 

2,535

 

 

15

 

 

(1

)

 

2,549

 

Equity security

 

42

 

 

6

 

 

 

 

48

 

Marketable securities – long-term 

 

$

12,105

 

 

$

65

 

 

$

(2

)

 

$

12,168

  




In Unrealized Loss Position For
Less Than 12 Months
 
 In Unrealized Loss Position For
Greater Than 12 Months
(In thousands)  
 
Fair Value
 
Gross Unrealized
Losses
 
Fair Value
 
Gross Unrealized
Losses
December 31, 2020
 
 

 
 

 
 

 
 

U.S. government and agency obligations
 
$
330

 
$
 
$
 
$
Corporate debt securities and certificates of deposit
 
411

 
(1
)
 
 
Marketable securities
 
$
741

 
$
(1
)
 
$
 
$
December 31, 2019
 
 

 
 

 
 

 
 

U.S. government and agency obligations
 
$
149

 
$
(1
)
 
$
 
$
Corporate debt securities and certificates of deposit
 
271

 
 
 
Asset backed securities
 
684

 
(1
)
 
 
Marketable securities
 
$
1,104

 
$
(2
)
 
$
 
$


Our investments in marketable debt securities all have maturities of less than 5 years. Net pre-tax unrealized gains for marketable debt securities of $229,000 at December 31, 2020 and $84,000 at December 31, 2019 have been recorded as a component of accumulated other comprehensive loss in stockholders’ equity. We have determined that the net pre-tax unrealized gains and losses for marketable debt securities at December 31, 2020 and December 31, 2019 were caused by fluctuations in interest rates and are temporary in nature. We review our marketable debt securities to identify and evaluate investments that have indications of possible impairment. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. No marketable securities were sold in 2020 or 2019. See Note 6 for additional information regarding the fair value of our investments in marketable securities. 


Investments in marketable debt securities classified as cash equivalents of $1.3 million at December 31, 2020 and $2.6 million at December 31, 2019, consist of corporate debt securities and certificates of deposit. There were no unrealized gains or losses associated with any of these securities at December 31, 2020 or December 31, 2019.  


NOTE 5  COMPREHENSIVE INCOME 


There were no reclassification adjustments in 2020 or 2019. Changes in components of comprehensive income and taxes related to items of other comprehensive income are as follows:

 


Year Ended December 31, 2020

 

Year Ended December 31, 2019

(In thousands)

 

Before Tax

 

Tax Effect

 

Net of Tax
Amount

 

Before Tax

 

Tax Effect

 

Net of Tax
Amount

Foreign currency translation adjustments

 

$

190

 

$

 

$

190

 

$

174

 

$

 

$

174

Unrealized gains on available-for-sale securities

 

145


 

(31

)

 

114


 

138


 

(28

)

 

110

Other comprehensive income 

 

$

335

 

$

(31

)

 

$

304

 

$

312

 

$

(28

)

 

$

284


At December 31, 2020 and December 31, 2019 components of accumulated other comprehensive loss is as follows:

 

 

 

 

 

 

 

 

 

 

 

 

 

(In thousands)

 

Foreign
Currency
Translation
Adjustments

 

Available-
for-Sale
Securities

 

Accumulated
Other
Comprehensive
Loss

Balances at December 31, 2018

 

$

(1,649

)

 

$

(41

)

 

$

(1,690

)

Other comprehensive income for the year ended December 31, 2019

 

174

 

110

 

284

Balances at December 31, 2019

 

$

(1,475

)

 

$

69

 

$

(1,406

Other comprehensive income for the year ended December 31, 2020

 

 

190

 

 

114

 

 

304

Balances at December 31, 2020

 

$

(1,285

 

$

183

 

$

(1,102

)

 


NOTE 6  FAIR VALUE MEASUREMENTS

We determine the fair value of our assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Valuation techniques used to measure fair value maximize the use of observable inputs and minimize the use of unobservable inputs. We use a fair value hierarchy with three levels of inputs, of which the first two are considered observable and the last is considered unobservable, to measure fair value. The fair value hierarchy gives the highest priority to quoted prices in active markets for identical assets or liabilities (Level 1). The next highest priority is based on quoted prices for similar assets or liabilities in active markets or quoted prices for identical or similar assets or liabilities in non-active markets or other observable inputs (Level 2). The lowest priority is given to unobservable inputs (Level 3). The following provides information regarding fair value measurements for our marketable securities as of December 31, 2020 and December 31, 2019 according to the three-level fair value hierarchy.


 

 

Fair Value Measurements at
December 31, 2020 Using

(In thousands)

 

Balance
December 31, 2020

 

Quoted Prices
in Active
Markets for
Identical
Assets
(Level 1)

 

Significant
Other Observable Inputs
(Level 2)

 

Significant
Unobservable Inputs
(Level 3)

Marketable securities:

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

12,448

 

 

$

 

 

$

12,448

 

 

$

 

Corporate debt securities and certificates of deposit

 

7,169

 

 

 

 

7,169

 

 

 

Asset backed securities

 

2,526

 

 

 

 

2,526

 

 

 

Equity security

 

30

 

 

30

 

 

 

 

 

Total marketable securities

 

$

22,173

 

 

$

30

 

 

$

22,143

 

 

$

  

 

 

 

Fair Value Measurements at
December 31, 2019 Using

(In thousands)

 

Balance
December 31, 2019

 

Quoted Prices
in Active
Markets for
Identical
Assets
(Level 1)

 

Significant
Other Observable Inputs
(Level 2)

 

Significant
Unobservable Inputs
(Level 3)

Marketable securities:

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

12,341

 

 

$

 

 

$

12,341

 

 

$

 

Corporate debt securities and certificates of deposit

 

4,104

 

 

 

 

4,104

 

 

 

Asset backed securities

 

3,970

 

 

 

 

3,970

 

 

 

Equity security

 

48

 

 

48

 

 

 

 

 

Total marketable securities

 

$

20,463

 

 

$

48

 

 

$

20,415

 

 

$

  

 

During 2020 and 2019, we owned no Level 3 securities and there were no transfers within the three level hierarchy. A significant transfer is recognized when the inputs used to value a security have been changed which merit a transfer between the levels of the valuation hierarchy.

The fair value for our U.S. government and agency obligations, corporate debt securities and certificates of deposit and asset backed securities are determined based on valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The fair value for our equity security is based on a quoted market price obtained from an active market. The carrying amounts of financial instruments included in cash equivalents approximate their related fair values due to the short-term maturities of those instruments. See Note 4 for additional information regarding our investments in marketable securities


Non-financial assets such as equipment and leasehold improvements, goodwill and intangible assets and right-of-use assets for operating leases are subject to non-recurring fair value measurements if they are deemed impaired. We had no re-measurements of non-financial assets to fair value in 2020 or 2019.



The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial. If measured at fair value in the financial statements, these financial instruments would be classified as Level 3 in the fair value hierarchy.

 

NOTE 7  SHARE-BASED COMPENSATION

We have three share-based compensation plans that are administered by the Compensation Committee of the Board of Directors. We have (a) an Employee Stock Incentive Plan for officers, other employees, consultants and independent contractors under which we have granted options and restricted stock units to officers and other employees, (b) an Employee Stock Purchase Plan under which shares of our common stock may be acquired by employees at discounted prices, and (c) a Non-Employee Director Stock Plan that provides for automatic grants of restricted shares of our common stock to non-employee directors. New shares of our common stock are issued upon stock option exercises, vesting of restricted stock units, issuances of shares to board members and issuances of shares under the Employee Stock Purchase Plan.


Employee Stock Incentive Plan


As of December 31, 2020, there are 124,501 shares of common stock reserved in the aggregate for issuance pursuant to future awards under our Employee Stock Incentive Plan and 471,554 shares of common stock reserved in the aggregate for issuance pursuant to outstanding awards under such plan. Although our Compensation Committee has authority to issue options, restricted stock, restricted stock units, share grants and other share-based benefits under our Employee Stock Incentive Plan, to date only restricted stock units and stock options have been granted under the plan. Options have been granted at an option price per share equal to the market value of our common stock on the date of grant, vest over a four year period and expire seven years after the date of grant. Restricted stock units vest over a four year period and entitle the holders to one share of our common stock for each restricted stock unit. Reserved shares underlying outstanding awards, including options and restricted stock units, that are forfeited are available under the Employee Stock Incentive Plan for future grant.

Non-Employee Director Stock Plan

As of December 31, 2020, there were 44,000 shares of common stock reserved in the aggregate for issuance pursuant to future restricted share grants under our Non-Employee Director Stock Plan and 12,000 shares of common stock reserved in the aggregate for issuance pursuant to outstanding stock option awards under our Non-Employee Director Stock Plan (which previously authorized the granting of stock options to non-employee directors). Under the terms of the plan, each non-employee director receives annual restricted share grants of 2,000 shares of our common stock on the date of each annual meeting at which such director is elected to serve on the board. The annual restricted share grants of common stock vest in four equal quarterly installments during the year after the grant date, provided the non-employee director is still serving as a director on the applicable vesting date. 


On the dates of our 2020 and 2019 annual meetings, we issued 8,000 shares of our common stock to our non-employee directors, which were restricted as specified in the Non-Employee Director Stock Plan. The shares granted at the 2020 annual meeting had an aggregate fair market value on the date of grant equal to $227,000 (grant date fair value of $28.34 per share). As of December 31, 2020, 4,000 of these shares were vested. The aggregate fair value of the 4,000 unvested shares based on the closing price of our common stock on December 31, 2020 was $91,000. The shares granted at the 2019 annual meeting had an aggregate fair market value on the date of grant equal to $138,000 (grant date fair value of $17.26 per share). As of December 31, 2020, all of the shares granted at the 2019 annual meeting were vested.


Stock Option Activity 


The following is a summary of activity in stock options for 2020:

 

 

 

 

 

 

 

 


 

Options Outstanding

 

Weighted Average Exercise
Price Per Share

Outstanding, December 31, 2019

 

520,513

 

 

$

12.25

 

Granted

 

38,150

 

 

28.32

 

Exercised

 

(139,563

)

 

7.71

 

Outstanding, December 31, 2020

 

419,100

 

 

$

15.22

 

Exercisable, December 31, 2020

 

294,026

 

 

$

13.01

 


The intrinsic value of an option is the amount by which the market price of the underlying common stock exceeds the option's exercise price. For options outstanding at December 31, 2020, the weighted average remaining contractual term of all outstanding options was 3.65 years and their aggregate intrinsic value was $3.5 million. At December 31, 2020, the weighted average remaining contractual term of options that were exercisable was 2.74 years and their aggregate intrinsic value was $3.0 million. The aggregate intrinsic value of stock options exercised was $2.7 million in 2020 and $359,000 in 2019We received proceeds from stock option exercises of $358,000 in 2020 and $248,000 in 2019. The aggregate fair value of options that vested was $456,000 in 2020 and $439,000 in 2019.  No stock options expired or were forfeited in 2020.


The fair value of stock options granted to our employees was estimated on the date of grant using the Black-Scholes model. The Black-Scholes valuation model incorporates ranges of assumptions that are disclosed in the table below. The risk-free interest rate is based on the United States Treasury yield curve at the time of grant with a remaining term equal to the expected life of the awards. We used historical experience to estimate the expected term, representing the length of time in years, that the options are expected to be outstanding. Expected volatility was computed based on historical fluctuations in the daily price of our common stock.


For stock options granted in the two-year period ended December 31, 2020, we utilized the fair value of our common stock on the date of grant and employed the following key assumptions in computing fair value using the Black-Scholes option-pricing model:


 

 

 

 

 

 

 

 

2020

 

2019

Risk-free interest rates

0.44% - 0.50%

 

1.67% - 1.69%

Expected life in years

5.12 - 5.55 

 

5.00 - 5.40

Expected volatility

 59.43% - 59.81%

 

54.38% - 54.87%

Dividend yield

0.00%

 

0.00%

Weighted average fair value on grant date

$14.58

 

$7.96

 

Restricted Shares and Restricted Stock Units 

 

Restricted shares are granted under our Non-Employee Director Stock Plan. Restricted stock units are granted under our Employee Stock Incentive Plan. The fair value of restricted shares and restricted stock units is equal to the market value of our common stock on the date of grant. There were 30,700 restricted shares and restricted stock units granted in 2020 (weighted average grant date fair value of $28.33 each). There were 39,550 restricted shares and restricted stock units granted in 2019 (weighted average grant date fair value of $16.44 each). The aggregate fair value of outstanding restricted shares and restricted stock units based on the closing share price of our common stock as of December 31, 2020 was $1.6 million. The aggregate fair value of restricted shares and stock units that vested, based on the closing share price of our common stock on the vesting date, was $857,000 in 2020 and $458,000 in 2019. No restricted shares or restricted stock units expired or were forfeited in 2020.

 

The following is a summary of activity in restricted shares and restricted stock units for 2020:

 

Non-vested restricted stock units

 

Shares

 

Weighted Average Grant Date
Fair Value

Non-vested at December 31, 2019

 

68,204

 

 

$

17.39

 

Granted

 

30,700

 

 

28.33

 

Vested

 

(30,450

)

 

19.29

 

Non-vested at December 31, 2020

 

68,454

 

 

$

21.45

 


Employee Stock Purchase Plan


We have an Employee Stock Purchase Plan available to eligible U.S. employees. Under terms of the plan, eligible employees may designate from 1% to 10% of their compensation to be withheld through payroll deductions, up to a maximum of $6,500 in each plan year, for the purchase of common stock at 85% of the lower of the market price on the first or last day of the offering period. Purchases under this plan were 19,897 shares in 2020 and 17,781 shares in 2019. As of December 31, 2020, 136,791 shares remain available for future issuance under this plan.


Share-Based Compensation Information

Pre-tax share-based compensation expense for 2020 includes $876,000 for stock options and restricted stock units, $111,000 for our employee stock purchase plan, and $194,000 for restricted shares issued to board members. Pre-tax share-based compensation expense for 2019 includes $751,000 for stock options and restricted stock units, $107,000 for our employee stock purchase plan, and $133,000 for restricted shares issued to board members.



 

 

 

 

 

 

 

 

(In thousands)

 

 2020

 

2019

Pre-tax share-based compensation expense

 

$

1,181

 

$

991

 

Income tax benefits related to share-based compensation

 

$

712


$

211

 


At December 31, 2020, the total unrecognized compensation cost related to non-vested share-based compensation arrangements was $2.7 million and the related weighted average period over which such cost is expected to be recognized is 2.9 years. 


In 2020, we recognized a $717,000 income tax benefit from the exercise of stock options and vesting of share-based payments, including $497,000 of excess tax benefits. In 2019, we recognized a $165,000 income tax benefit from the exercise of stock options and vesting of share-based payments, including $42,000 of excess tax benefits. 


NOTE 8  NET INCOME PER SHARE

Net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. Common equivalent shares consist of common shares to be issued upon exercise of stock options, vesting of restricted stock units, vesting of restricted shares and from purchases of shares under our Employee Stock Purchase Plan, as calculated using the treasury stock method. Common equivalent shares are excluded from the calculation of net income per diluted share if their effect is anti-dilutive. The components of net income per basic and diluted share were as follows:

   
(In thousands except per share amounts)
 
Net Income
 
Weighted Average Shares Outstanding
 
Per Share Amount
Year Ended 12/31/2020:
 
 
 

 
 
 
 
 

Basic
 
$
5,742

 
7,215
 
 
$
0.80

Dilutive effect of common equivalent shares
 

 
239
 
 
(0.03
)
Dilutive
 
$
5,742

 
7,454
 
 
$
0.77

 

 

 

 

 

 

 

 

 

 

 

 

(In thousands except per share amounts)

 

Net Income

 

Weighted Average Shares Outstanding

 

Per Share Amount

Year Ended 12/31/2019:

 

 

 

 

 

 

 

 

 

Basic

 

$

774

 

 

7,113

 

 

$

0.11

 

Dilutive effect of common equivalent shares

 

 

 

149

 

 

Dilutive

 

$

774

 

 

7,262

 

 

$

0.11

 


Potentially dilutive shares consist of stock options, restricted stock units, restricted shares and purchases of shares under our Employee Stock Purchase Plan. Potentially dilutive shares excluded from the calculations of net income per diluted share due to their anti-dilutive effect were as follows: 57,000 shares in 2020 and 291,000 shares in 2019.


NOTE 9  OTHER FINANCIAL STATEMENT DATA

Inventories consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Raw materials and purchased parts

 

$

11,903

 

 

$

9,845

 

Work in process

 

2,459

 

 

1,837

 

Finished goods

 

4,208

 

 

2,373

 

Demonstration inventories, net
1,701

1,525

Total inventories

 

$

20,271

 

 

$

15,580

 



Demonstration inventories are stated at cost less accumulated amortization, generally based on a 36 month useful life. Accumulated amortization for demonstration inventories totaled $2.7 million at December 31, 2020 and $2.4 million at December 31, 2019. 


Equipment and leasehold improvements consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Equipment

 

$

15,070

 

 

$

14,742

 

Leasehold improvements

 

3,072

 

 

2,987

 

 

 

18,142

 

 

17,729

 

Accumulated depreciation and amortization

 

(14,907

)

 

(14,388

)

 

 

$

3,235

 

 

$

3,341

 


Depreciation and amortization expense related to equipment and leasehold improvements was $1.7 million in 2020 and $1.6 million in 2019.

 

Intangible assets consist of the following:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

December 31, 2020

 

December 31, 2019

(In thousands)

 

Gross Carrying
Amount

 

Accumulated Amortization

 

Net

 

Gross Carrying
Amount

 

Accumulated Amortization

 

Net

Patents

 

$

1,832


 

$

(1,542

)

 

$

290

 

 

$

2,898

 

 

$

(2,662

)

 

$

236

 

Software

 


206


 

(200

)

 

6

 

 

206

 

 

(170

)

 

36

 

Marketing assets and customer relationships

 


101


 

(72

)

 

29

 

 

101

 

 

(63

)

 

38

 

 

 

$

2,139


 

$

(1,814

)

 

$

325

 

 

$

3,205

 

 

$

(2,895

)

 

$

310

  


Amortization expense in 2020 and 2019 was as follows:

 

 

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

 

Weighted Avg. Remaining Life-Years at December 31, 2020

(In thousands)

 

2020

 

2019

 

Patents

 

$

153

 

 

$

134

 

 

1.7

Software

 

29

 

 

29

 

 

0.2

Marketing assets and customer relationships

 

9

 

 

9

 

 

3.2

 

 

$

191

 

 

$

172

 

 

  


Estimated aggregate amortization expense based on current intangible assets for the next four years is expected to be as follows: $160,000 in 2021; $106,000 in 2022; $57,000 in 2023; and $2,000 in 2024. 


Accrued expenses consist of the following:

 

 

December 31,

(In thousands)

 

2020

 

2019

Wages and benefits

 

$

2,768

 

 

$

1,319

 

Warranty liability

 

793

 

 

761

 

Income taxes payable
269

333

Other

 

63

 

 

159

 

 

 

$

3,893

 

 

$

2,572

  



Other liabilities consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Deferred warranty revenue

 

$

88

 

 

$

81

 

Warranty liability

 

46

 

 

37

 

Contract liabilities 




84

 

 

$

134

 

 

$

202

 

 

See Note 3 for additional information related to contract liabilities.

    

Warranty costs:

    

We provide for the estimated cost of product warranties, which cover products for periods ranging from one to three years, at the time revenue is recognized. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of components provided by suppliers, warranty obligations do arise. These obligations are affected by product failure rates, the costs of materials used in correcting product failures and service delivery expenses incurred to make these corrections. If actual product failure rates and material or service delivery costs differ from our estimates, revisions to the estimated warranty liability are required and could be material. At the end of each reporting period, we revise our estimated warranty liability based on these factors. The current portion of our warranty liability is included as a component of accrued expenses. The long-term portion of our warranty liability is included as a component of other liabilities. 

 

A reconciliation of the changes in our estimated warranty liability is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,  

(In thousands)

 

2020

 

2019 

 

Balance at beginning of period

 

$

798

 

 

$

789

 

Accrual for warranties

 

836

 

 

815

 

Warranty revision


43

 

186

Settlements made during the period

 

(838

)

 

(992

)

Balance at end of period

 

839

 

 

798

 

Current portion of estimated warranty liability

 

(793

)

 

(761

)

Long-term estimated warranty liability

 

$

46

 

 

$

37

 


Deferred warranty revenue:


The current portion of our deferred warranty revenue is included as a component of advance customer payments. The long-term portion of our deferred warranty revenue is included as a component of other liabilities. A reconciliation of the changes in our deferred warranty revenue is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31, 

(In thousands)

 

2020

 

2019 

 

Balance at beginning of period

 

$

275

 

 

$

218

 

Revenue deferrals

 

434

 

 

488

 

Amortization of deferred revenue

 

(365

)

 

(431

)

Total deferred warranty revenue

 

344

 

 

275

 

Current portion of deferred warranty revenue

 

(256

)

 

(194

)

Long-term deferred warranty revenue

 

$

88

 

 

$

81

  



NOTE 10  INCOME TAXES

 

Income before income taxes consists of the following:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Sources of income (loss) before income taxes:

 

 

 

 

 

 

 

United States

 

$

4,876

 

$

(172

)

Foreign

 


1,478


 

1,332

 

Total income before income taxes

 

6,354


 

$

1,160

 


The provision (benefit) for income taxes consists of the following:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Current:

 


 

 

 

 

Federal

 

$

26

 

$

State

 

19

 

 

30

 

Foreign

 

201

 

(37

)

Total current

 

246

 

$

(7

)

Deferred:

 


 

 

 

 

Federal

 

$

361

 

$

338

State

 

 

 

1

 

Foreign

 

5

 

54

Total deferred

 

$

366

 

$

393

Total provision for income taxes

 

$

612

 

$

386


A reconciliation of the statutory rate to the effective income tax rate is as follows:

 

 

 

 

 

 

 

 

 

Year Ended December 31,

 

 

2020

 

 

2019

Federal statutory rate

 

21.0

%


21.0

%

State income taxes, net of federal benefit

 

0.2

 

 

2.1

 

U.S. Subpart F income

 

0.6

 

 

1.2

 

Global Intangible Low-Taxed Income (GILTI)/Foreign Derived Intangible Income

 

2.1

 

 

17.4

 

Share-based compensation

 

(7.4

)

 

(0.2

)

Research and experimentation (R&D) credit

 

(3.2

)

 

(16.8

)

Foreign tax credit
(2.2 )

Foreign rate difference

 

(1.1

)

 

(6.0

)
Singapore jobs support program
(1.3 )


Unrecognized tax benefit

 

0.4

 

(16.6

)

Valuation allowance

 

(4.2

)

 

10.5

Expiring and unrecognized deferred tax attributes 
3.7

16.1

Other, net

 

1.0

 

 

4.6

 

Effective tax rate

 

9.6

%


33.3

%


Our effective tax rate in 2020 was favorably impacted by $497,000 of excess tax benefits from employee stock option exercises and vesting of restricted stock units and restricted shares, and favorable benefits from U.S. federal R&D tax credits and foreign tax credits, offset in part by the GILTI. Our effective tax rate in 2019 was negatively impacted by the GILTI and an increase in our valuation allowance for deferred income taxes related to U.S. federal R&D tax credits expiring in 2020, offset in part by the favorable benefits from U.S. federal R&D tax credits earned in 2019 and a non-cash benefit from completion of an audit of our income taxes in the Singapore tax jurisdiction. We have elected to account for the tax on the U.S. GILTI as a period cost and not as a measure of deferred taxes.


A reconciliation of the beginning and ending amount of gross unrecognized tax benefits (“UTB”) is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Gross UTB balance at beginning of year

 

$

1,761

 

 

$

2,542

 

Additions based on tax positions related to the current year

 

137

 

 

97

 

Additions for tax positions of prior years

 

60

 

 

18

 

Reductions for tax positions of prior years

 

(169

)

 

(896

)

Reductions due to lapse of applicable statute of limitations

 

 

 

Gross UTB balance at end of year

 

$

1,789

 

 

$

1,761

 

Net UTB balance at end of year

 

197

 

 

$

160

 


The ending net UTB results from adjusting the gross balance for items such as federal, state, and non-U.S. deferred items, interest and penalties, and deductible taxes. The increase in our gross and net UTB balance as of December 31, 2020 was related to a potential exposure resulting from an ongoing audit of our income taxes in Singapore. We have classified $40,000 of our net UTB as a current liability, because we anticipate having to pay this liability within the next year. The remaining net UTB is a long-term income tax reserve within our consolidated balance sheets. We recognize interest and penalties related to unrecognized tax benefits in tax expense. Accrued interest and penalties on a gross basis and estimated gross interest and penalties included in the above amounts for all years were inconsequential. The gross UTB at December 31, 2020 and 2019, if recognized, would favorably impact our effective tax rate.


We file income tax returns in the United States and various state and foreign jurisdictions. Our federal income tax returns for years after 2016 are still subject to examination by the Internal Revenue Service. We are no longer subject to state and local income tax examinations for years prior to 2016. 


The Inland Revenue Authority of Singapore has initiated a routine compliance review of our 2018 income tax return. We presently anticipate that the outcome of this audit will not have a significant impact on our financial position or results of operations. 

 

Deferred tax assets and liabilities consist of the following:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

December 31, 2020

 

December 31, 2019

(In thousands)

 

Assets

 

Liabilities

 

Assets

 

Liabilities

Equipment, leaseholds and intangible amortization, net

 

$

176

 

 

$

251

 

 

$

200

 

 

$

287

 

Operating lease liabilities

839







755



Right-of-use assets (operating leases)




478







340

Inventory allowances

 

549

 

 

5

 

 

610

 

 

 

Accrued expenses

 

129

 

 

 

 

110

 

 

 

Warranty accrual

 

182

 

 

 

 

173

 

 

 

Deferred revenue

 

214

 

 


 

 

429

 

 

 

Federal and state tax credits

 

3,960

 

 


 

 

4,001

 

 

 

Federal and state net operating loss carry forwards

 

275

 

 

 

 

555

 

 

 

Share-based compensation

 

358

 

 


 

 

369

 

 

 

Other, net

 

113

 

 

50

 

 

114

 

 

18

 

Subtotal

 

6,795

 

 

784

 

 

7,316

 

 

645

 

Valuation allowance

 

(1,414

)

 


 

 

(1,679

)

 

 

Total deferred tax assets and liabilities

 

$

5,381

 

 

$

784

 

 

$

5,637

 

 

$

645

  



We have significant deferred tax assets as a result of temporary differences between the taxable income on our tax returns and U.S. GAAP income, R&D tax credit carry forwards and state net operating loss carry forwards. A deferred tax asset generally represents future tax benefits to be received when temporary differences previously reported in our consolidated financial statements become deductible for income tax purposes, when net operating loss carry forwards could be applied against future taxable income, or when tax credit carry forwards are utilized on our tax returns. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on the guidance provided in current financial accounting standards. 

 

Significant judgment is required in determining the realizability of our deferred tax assets. The assessment of whether valuation allowances are required considers, among other matters, the nature, frequency and severity of any current and cumulative losses, forecasts of future profitability, the duration of statutory carry forward periods, our experience with loss carry forwards not expiring unused and tax planning alternatives. In analyzing the need for valuation allowances, we first considered our history of cumulative operating results for income tax purposes over the past three years in each of the tax jurisdictions in which we operate, our financial performance in recent quarters, statutory carry forward periods and tax planning alternatives. In addition, we considered both our near-term and long-term financial outlook. After considering all available evidence (both positive and negative), we concluded that recognition of valuation allowances for substantially all of our U.S. and Singapore based deferred tax assets was not required at December 31, 2020 or December 31, 2019. The valuation allowance recorded against our deferred tax assets at December 31, 2020 was reduced by $265,000, mainly for U.S. federal R&D tax credits that were used or expired. The valuation allowance recorded against our deferred tax assets at December 31, 2019 was increased by $122,000, primarily for U.S. federal R&D tax credits expiring in 2020, offset in part by the reduction for U.S. federal R&D tax credits that expired in 2019. At December 31, 2020, we have federal R&D tax credit carry forwards of approximately $4.0 million that will begin to expire in 2021, if unused.  All of our remaining federal net operating loss carry forwards were fully utilized in 2020.


We determine on a regular basis the amount of undistributed earnings that will be reinvested in our non-U.S. operations. This assessment is based on our fiscal objectives and the working capital requirements for each of our foreign subsidiaries. The Tax Cuts and Jobs Act provides for a 100% dividends-received-deduction for foreign-source dividends received from 10% or more owned foreign corporations. Additionally, our foreign income is subject to Subpart F, GILTI and is eligible for foreign tax credits. The tax jurisdictions for the vast majority of our foreign operations do not impose a withholding tax. For these reasons, we have not recognized a deferred tax liability for the unremitted earnings of any of our foreign subsidiaries. Determination of the amount of any deferred income or withholding tax liability is not practicable because of the complexities of the hypothetical calculation.


Cash payments for income taxes, net of refunds received, were $59,000 in 2020 and $46,000 in 2019.

 

NOTE 11  OPERATING LEASES


We lease a 61,208 square foot mixed office and warehouse facility in Golden Valley, Minnesota. The lease has a term of 91 months and expires on July 31, 2026. The lease contains a rent escalation clause, one three year renewal option and incentives. Rental expense, including the effects of lease incentives, is recognized on a straight-line basis over the term of the lease. We did not include the renewal option in our accounting for the lease because it is not reasonably certain that we will exercise the option. We are also required to pay insurance, property taxes and other operating expenses related to the leased facility, which are not fixed or tied to an index.


In February 2020, we finalized a new lease for our existing 19,805 square foot mixed office and warehouse facility in Singapore, which serves as a sales, development and final assembly and integration facility for our inspection and metrology system products. The new lease does not contain any incentives or renewal options and runs through July 2023. We also have operating leases for small facilities in Taiwan, the United Kingdom and China which expire in June 2023, May 2023 and November 2022, respectively. 


The components of our costs for operating leases are as follows:



Year Ended

 Year Ended

Component (in thousands)

December 31, 2020
December 31, 2019

  Operating lease cost

$

723


$ 718

  Variable lease cost

272


269

  Short-term lease cost

38
21

  Total

$

1,033


$ 1,008


Variable lease costs generally consists of real estate taxes and insurance for leased facilities, which are paid based on actual costs incurred by the lessor.


At December 31, 2020, the future maturities of lease liabilities are as follows:

 

 

 

 

Twelve months ending December 31,

(In thousands)

2021

$

1,011

 

2022

1,023

 

2023

878

 

2024 658

2025

674

 

2026 & Thereafter 403

Total lease payments

 

4,647

  

Less: amount representing interest
584
Present value of operating lease liabilities $ 4,063

 

At December 31, 2020, the weighted average remaining term of our operating leases was 4.85 years, and the weighted average discount rate applied to our operating leases was 5.2%. At December 31, 2019, the weighted average remaining term of our operating leases was 6.11 years, and the weighted average discount rate applied to our operating leases was 5.7%.


Cash paid for amounts included in the measurement of operating lease liabilities was $975,000 in 2020 and $635,000 in 2019. Operating lease liabilities and right-of-use assets were increased for new non-cash leases by $941,000 in 2020 and $70,000 in 2019. Incentives from the landlord recorded as leasehold improvements in 2019 were $783,000.

 

NOTE 12  401(K) AND OTHER DEFINED CONTRIBUTION PLANS

We have a retirement savings plan pursuant to Section 401(k) of the Internal Revenue Code (Code), under which eligible employees may contribute a portion of their earnings, not to exceed annual amounts allowed under the Code. In addition, we may also make contributions at the discretion of the Board of Directors. We provided matching contributions to employees totaling $303,000 in 2020 and $317,000 in 2019.

We also contribute to defined contribution retirement savings plans on behalf of our employees in the United Kingdom and Taiwan. We made contributions to these plans totaling $39,000 in 2020 and $32,000 in 2019.

 

NOTE 13  REVENUE CONCENTRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS

The following summarizes our revenue by product line: 


 

 

   Year Ended December 31,

(In thousands)

 

2020

 

2019

High Precision 3D and 2D Sensors

 

$

17,522

 

 

$

12,579

 

Inspection and Metrology Systems

 

 

37,547

 

 

32,713

 

Semiconductor Sensors

 

 

15,048

 

 

13,971

 

Total

 

$

70,117

 

 

$

59,263

 


Revenue from sales of high precision 3D and 2D sensors based on our 3D Multi-Reflection Suppression™ (MRS™) technology was $11.6 million in 2020 and $6.0 million in 2019. Revenue from sales of inspection and metrology systems based on our 3D MRS sensor technology was $20.2 million in 2020 and $17.9 million in 2019.


In 2020, sales to significant customer A accounted for 14% of our total revenues, and sales to significant customer B accounted for 13% of our total revenues. As of December 31, 2020, accounts receivable from significant customer A were $2.1 million, accounts receivable from significant customer B were $905,000 and accounts receivable from significant customer C were $1.9 million. No customer accounted for more than 10% of our total revenues in 2019.


Export revenues as a percentage of total revenues were 80% in 2020 and 76% in 2019. Export revenues are attributed to the country where the product is shipped. Substantially all of our export revenues are negotiated, invoiced and paid in U.S. dollars.



Revenues by geographic area is summarized as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

 2020

 

2019

United States

 

$

14,134

 

 

$

14,459

 

Netherlands

 

 

2,237

 

 

1,658

 

Other Europe

 

 

7,017

 

 

8,009

 

China

 

 

18,903

 

 

11,553

 

Singapore

 

 

3,797

 

 

4,120

 

South Korea

 

 

6,376

 

 

4,678

 

Japan

 

 

3,172

 

 

3,630

 

Other Asia

 

 

11,702

 

 

8,496

 

Other

 

 

2,779

 

 

2,660

 

Total revenues

 

$

70,117

 

 

$

59,263

 


Long-lived assets include equipment and leasehold improvements and intangible and other assets attributable to each geographic area’s operations. Long-lived assets at December 31, 2020 and 2019 are as follows:

 

 

 

 

 

 

 

 

 

(In thousands)

 

2020

 

2019

Long-lived assets:

 

 

 

 

 

 

United States

 

$

2,814

 

 

$

3,256

 

Europe

 

6

 

 

 

Asia and other

 

740

 

 

395

 

Total long-lived assets

 

$

3,560

 

 

$

3,651

  


NOTE 14  SHARE REPURCHASES

In July 2019, our Board of Directors authorized a $3.0 million share repurchase program which expired on June 30, 2020. There were no share repurchases under this program in 2020 prior to its expiration. In 2019, we spent $353,000 under this program to repurchase 25,985 shares of our common stock. 


NOTE 15  CONTINGENCIES


We are periodically a defendant in miscellaneous lawsuits, claims and disputes in the ordinary course of business. While the outcome of these matters cannot be predicted with certainty, management presently believes the disposition of these matters will not have a material effect on our financial position, results of operations or cash flows.

In the normal course of business to facilitate sales of our products and services, we at times indemnify other parties, including customers, with respect to certain matters. In these instances, we have agreed to hold the other parties harmless against losses arising out of intellectual property infringement or other types of claims. These agreements may limit the time within which an indemnification claim can be made, and almost always limits the amount of the claim. It is not possible to determine the maximum potential amount of exposure under these indemnification agreements due to the limited history of prior indemnification claims and the unique facts and circumstances involved in each particular agreement. Historically, payments made, if any, under these agreements have not had a material impact on our operating results, financial position or cash flows.

 


NOTE 16  QUARTERLY FINANCIAL INFORMATION (UNAUDITED)

(In thousands, except per share amounts)


2020

 

March 31

 

June 30

 

September 30

 

December 31

 

Total

Revenues

 

$

16,429

 

 

$

15,996

 

 

$

20,820

 

 

$

16,872

 

 

  $

70,117

 

Gross margin

 

7,283

 

 

7,314

 

 

8,695

 

 

7,925

 

 

 

31,217

 

Income from operations

 

729

 

1,473

 

 

2,210

 

1,585

 

 

 

5,997

 

Net income

 

844

 

1,633

 

 

1,799

 

1,466

 

 

 

5,742

 

Net income per share - Basic (1)

 

0.12

 

0.23

 

 

0.25

 

0.20

 

 

 

0.80

 

Net income per share - Diluted (1)

 

0.11

 

0.22

 

 

0.24

 

0.20

 

 

 

0.77

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2019

 

March 31

 

June 30

 

September 30

 

December 31

  

Total

Revenues

 

$

14,976

 


$

15,044

 


$

12,391

 


$

16,852



$

59,263


Gross margin

 

7,026

 

 

6,589

 

 

5,506

 

 

7,181

 

 

 

26,302

 

Income (loss) from operations

 

570

 

579

 

 

(757

)

 

544

 

 

 

936

 

Net income (loss)

 

495

 

464

 

 

(353

)

 

168

 

 

 

774

 

Net income (loss) per share - Basic (1)

 

0.07

 

0.07

 

 

(0.05

)

 

0.02

 

 

 

0.11

 

Net income (loss) per share - Diluted (1)

 

0.07

 

0.06

 

 

(0.05

)

 

0.02

  

 

 

0.11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1) The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely.

 

Report of Independent Registered Public Accounting Firm

Shareholders and Board of Directors

CyberOptics Corporation

Minneapolis, Minnesota


Opinion on the Consolidated Financial Statements


We have audited the accompanying consolidated balance sheets of CyberOptics Corporation and subsidiaries (the “Company”) as of December 31, 2020 and 2019, the related consolidated statements of operations and comprehensive income, stockholders’ equity, and cash flows for each of the two years in the period ended December 31, 2020, and the related notes (collectively referred to as the “consolidated financial statements”). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2020 and 2019, and the results of its operations and its cash flows for each of the two years in the period ended December 31, 2020, in conformity with accounting principles generally accepted in the United States of America.


Basis for Opinion


These consolidated financial statements are the responsibility of the Company’s management. Our responsibility is to express an opinion on the Company’s consolidated financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (“PCAOB”) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.


We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company’s internal control over financial reporting. Accordingly, we express no such opinion.


Our audits included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements. We believe that our audits provide a reasonable basis for our opinion.

Critical Audit Matter

The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing separate opinions on the critical audit matter or on the accounts or disclosures to which it relates.

Realizability of deferred tax assets related to research and development tax credits

As described in Note 10 to the consolidated financial statements, the Company has recorded $4.0 million in deferred tax assets related to U.S. federal and state research and development tax credits (“R&D credits”) as of December 31, 2020. In evaluating the need, or continued need, for a valuation allowance relating to these R&D credits, management’s assessment involved complex and significant judgment in determining forecasts of future taxable income in relation to the duration of statutory carryforward periods for the use of these R&D credits.

 

We identified the realizability of deferred tax assets related to R&D credits to be a critical audit matter. The principal consideration for our determination is the significant audit effort that was necessary in evaluating the Company’s significant judgment and inputs used in determining the forecasts of future taxable income during the duration of statutory carryforward periods to utilize these assets.


 

The primary procedures we performed to address this critical audit matter included:



· Tested the completeness and accuracy of the underlying data used in the future taxable income forecasts.

·
Evaluated the future taxable income forecasts including the trends of both the historical financial results and the projected sources of taxable income.

·
Utilized personnel with specialized knowledge and skill in tax to assess the reasonableness of positive and negative evidence applied to determine realizability of the deferred tax assets related to R&D credits.


/s/BDO USA, LLP

We have served as the Company's auditor since 2019.

Minneapolis, Minnesota


March 12, 2021


 


NONE.



Disclosure Controls and Procedures


Under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, we evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rule 13a-15(e) under the Securities Exchange Act of 1934 (the “Exchange Act”)). Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer concluded that, as of the end of the period covered by this report, our disclosure controls and procedures were effective in ensuring that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in applicable rules and forms and that such information is accumulated and communicated to management, including our Chief Executive Officer and Chief Financial Officer, in a manner that allows timely decisions regarding required disclosure.


During the quarter ended December 31, 2020, there has been no change in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.


Management's Report on Internal Control Over Financial Reporting


Management is responsible for establishing and maintaining adequate internal control over financial reporting, as defined in Rule 13a-15(f) under the Exchange Act, for CyberOptics Corporation and its subsidiaries (collectively, the Company). Our internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with U.S. generally accepted accounting principles (GAAP).


Our internal control over financial reporting includes those policies and procedures that (i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the Company; (ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with GAAP, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and directors of the Company; and (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of our assets that could have a material effect on the financial statements.


Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements, and even when determined to be effective, can only provide reasonable assurance with respect to financial statement preparation and presentation. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.


Management, including our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our internal control over financial reporting as of December 31, 2020. In making this evaluation, our management used the criteria for effective internal control over financial reporting described in the 2013 “Internal Control—Integrated Framework” issued by the Committee of Sponsoring Organizations of the Treadway Commission. Based on this assessment, management concluded that our internal control over financial reporting was effective as of December 31, 2020.



NONE. 

 

 

 


The information contained under the headings “Proposal I–Election of Directors,” “Information About our Board of Directors and its Committees and Other Corporate Governance Matters” and "Executive Compensation-Information about Our Executive Officers" of the Company’s definitive proxy statement for its annual meeting of shareholders to be held May 13, 2021 (Proxy Statement), is hereby incorporated by reference.



The information under the headings “Information About our Board of Directors and its Committees and Other Corporate Governance Matters–Compensation of Independent Directors,” and “Executive Compensation” of the Proxy Statement is hereby incorporated by reference.



The information contained under the headings “Beneficial Ownership” of the Proxy Statement is hereby incorporated by reference.


The following table describes shares of our common stock that are available as of December 31, 2020 for purchase under outstanding stock-based awards, or reserved for issuance under stock-based awards or other rights that may be granted in the future, under our equity compensation plans:


Equity compensation plans approved by security holders

 

(a)
Number of securities to be issued upon exercise of outstanding options, warrants and rights

 

(b)
Weighted-average exercise price of outstanding options, warrants and rights

 

(c)
Number of securities remaining available for future issuance under equity compensation plans (excluding those reflected in column (a))

Employee Stock Incentive Plan1

 

471,554

 

    $     15.17

 

124,501

Non-Employee Director Stock Plan

 

12,000

 

           16.97

 

44,000

Employee Stock Purchase Plan2

 

N/A

 

            N/A

 

136,791

Total

 

483,554

 

    $     15.22

 

305,292


 

 

 

 

 

 

(1) - In addition to stock options, shares of Common Stock may be received by employees pursuant to stock appreciation rights, restricted stock and restricted stock unit awards, performance awards and dividend equivalents.
(2) - Shares are issued based on an employee's election to participate in the Employee Stock Purchase Plan.



The information under the headings “Information About our Board of Directors and its Committees and Other Corporate Governance Matters–Committees of Our Board–Audit Committee” of the Proxy Statement is hereby incorporated by reference.



The information under the heading “Independent Accountants and Payment of Fees” and “Information About our Board of Directors and its Committees and Other Corporate Governance Matters–Committees of Our Board–Audit Committee” of the Proxy Statement is hereby incorporated by reference.

 

 

 



(a)(1)      Financial Statements: The Consolidated Financial Statements included in Item 8 to this Form 10-K consist of the following:

 

 

 

 

 

Consolidated Balance Sheets as of December 31, 2020 and 2019.

 

Consolidated Statements of Operations for the years ended December 31, 2020 and 2019.

 

Consolidated Statements of Comprehensive Income for the years ended December 31, 2020 and 2019.

 

Consolidated Statements of Cash Flows for the years ended December 31, 2020 and 2019.

 

Consolidated Statements of Stockholders’ Equity for the years ended December 31, 2020 and 2019.

 

Notes to the Consolidated Financial Statements.

 

 

 

  

 

(b)

 

LIST OF EXHIBITS

Exhibit Number

 

Description

 

3.1

 

Articles of Incorporation of the Company, as amended (incorporated by reference to Exhibit 3.1 to the Company’s annual report on Form 10-K for the year ended December 31, 1997).

 

3.2

 

Bylaws of the Company (incorporated by reference to Exhibit 3.1 to the current report on Form 8-K dated September 8, 2008).

 

*4.1

 

CyberOptics Corporation 1998 Stock Incentive Plan, as amended (incorporated by reference to Exhibit 10.1 to the current report on Form 8-K dated May 20, 2016)

 

*4.2

 

CyberOptics Corporation Employee Stock Purchase Plan, as amended and restated (incorporated by reference to Exhibit 4.1 to the current report on Form 8-K dated May 10, 2018).

 

*4.3

 

CyberOptics Corporation Non-Employee Director Stock Plan (incorporated by reference to Exhibit 10.2 to the current report on Form 8-K dated May 20, 2016)

 

*4.4

 

CyberOptics Corporation Amended Non-Employee Director Stock Plan (incorporated by reference to Exhibit 4.1 to the Company's quarterly report on Form 10-Q for the quarter ended June 30, 2017)


4.5
Description of Securities

 

10.1

 

Lease Agreement between FirstCal Industrial 2 Acquisitions LLC and the Company dated March 27, 2006 (incorporated by reference to Exhibit 10.1 to the Company’s quarterly report on Form 10-Q for the quarter ended March 31, 2006).

 

10.2

 

First Amendment to Lease effective as of March 14, 2011, by and between Hines REIT Minneapolis Industrial, LLC and CyberOptics Corporation (incorporated by reference to Exhibit 10.1 to the Company’s quarterly report on Form 10-Q for the quarter ended March 31, 2011).

 

*10.3

 

Severance Pay Agreement with Jeffrey A. Bertelsen (incorporated by reference to Exhibit 10.3 to the current report on Form 8-K dated May 19, 2008).

 

*10.4

 

Amendment to Severance Pay Agreement with Jeffrey A. Bertelsen (incorporated by reference to Exhibit 10.1 to the current report on Form 8-K dated May 18, 2009).

 

*10.5

 

Clarification to Severance Pay Agreement with Jeffrey A. Bertelsen (incorporated by reference to Exhibit 10.9 to the Company’s annual report on Form 10-K for the year ended December 31, 2011).

 

*10.6

 

Employment agreement with Subodh Kulkarni dated January 13, 2014 (incorporated by reference to Exhibit 10.12 to the Company's annual report on Form 10-K for the year ended December 31, 2013)


10.7


Third Amendment to Lease (“Amendment”) effective as of May 17, 2018, by and between GOLDEN HILLS PARK I PROPERTY OWNER, LLC and CYBEROPTICS CORPORATION (incorporated by reference to Exhibit 10.2 to the Company's quarterly report on Form 10-Q for the quarter ended June 30, 2018).

 

10.8

 

Tenancy agreement between RBC Investor Services Trust Singapore Limited and CyberOptics Singapore Private Limited dated December 8, 2016 (incorporated by reference to Exhibit 10.9 to the Company’s annual report on Form 10-K for the year ended December 31, 2016).


10.9
Tenancy agreement between RBC Investor Services Trust Singapore Limited (in its capacity as trustee of ESR-REIT) and CyberOptics Singapore Private Limited dated February 25, 2020 (incorporated by reference to Exhibit 10.9 to the Company's annual report on Form 10-K for the year ended December 31, 2019)

 

*10.10

 

Form of stock option agreement used for option grants to employees (incorporated by reference to Exhibit 10.9 to the Company's annual report on Form 10-K for the year ended December 31, 2014).

 

*10.11

 

Form of restricted stock award agreement used for awards to employees (incorporated by reference to Exhibit 10.10 to the Company's annual report on Form 10-K for the year ended December 31, 2014).

 

21

 

Subsidiaries of the Company.


23.1
Consent of Independent Registered Public Accounting Firm

 

31.1

 

Certification of Chief Executive Officer Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

 

31.2

 

Certification of Chief Financial Officer Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

 

32

 

Certification of Chief Executive Officer and Chief Financial Officer Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

 

101

 

Financial statements formatted in Inline Extensible Business Reporting Language: (i) the Consolidated Balance Sheets, (ii) the Consolidated Statement of Operations, (iii) the Consolidated Statements of Comprehensive Income, (iv) the Consolidated Statements of Cash Flows, (v) the Consolidated Statements of Stockholders' Equity, and (vi) the Notes to the Consolidated Financial Statements. 

 

* Management Contract or Compensatory Plan or Arrangement 

 

 



Pursuant to the requirements of Section 13 or 15(d) 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.

 

 

 

 

CYBEROPTICS CORPORATION

 

 

 

/s/ SUBODH KULKARNI

 

By Subodh Kulkarni, President and CEO

Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.

 

 

 

 

 

 

Name

 

Title

 

Date

 

 

 

 

 

/s/ SUBODH KULKARNI

 

President and CEO

 

March 12, 2021

Subodh Kulkarni

 

(Principal Executive Officer)

 

 

 

 

 

 

 

 

 

 

 

 

/s/ VIVEK MOHINDRA

 

Director

 

March 12, 2021

Vivek Mohindra

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/s/ MICHAEL M. SELZER JR.

 

Director

 

March 12, 2021

Michael M. Selzer, Jr.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/s/ CHERYL BERANEK

 

Director

 

March 12, 2021

Cheryl Beranek

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/s/ CRAIG D. GATES

 

Chairman, Director

 

March 12, 2021

Craig D. Gates

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/s/ JEFFREY A. BERTELSEN

 

Vice President, CFO, and COO

 

March 12, 2021

Jeffrey A. Bertelsen

 

(Principal Financial Officer

 

 

 

 

and Principal Accounting Officer)

 

 

 

 

62

EX-101.DEF 2 cybe-20201231_def.xml DEFINITION EX-101.PRE 3 cybe-20201231_pre.xml PRESENTATION EX-101.CAL 4 cybe-20201231_cal.xml CALCULATION EX-101.LAB 5 cybe-20201231_lab.xml LABEL Accounts Receivable, after Allowance for Credit Loss Covid-19 Pandemic Program [Axis] Jobs Support Program [Member] Schedule of Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Table] Program [Domain] Jobs Support Program [Member] Represents the information pertaining to jobs support program that is intended to support businesses and encourage retention of employees during the period of economic uncertainty caused by the Covid-19 pandemic. Reduced Employee Expenses [Member] Effects on Future Earnings and Cash Flows, by Type of Effect [Domain] Reduced Employee Expenses [Member] Operating Expenses Operating expenses Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Line Items] Reclassification from Accumulated Other Comprehensive Income, Current Period, before Tax Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Line Items] Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Axis] Unusual or Infrequent Items, or Both, Disclosure [Text Block] COVID-19 PANDEMIC Comprehensive Income Comprehensive Income, Policy [Policy Text Block] Net pre-tax unrealized gains Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax Metrology Products and Services [Member]. Metrology Products and Services [Member] Disclosure of accounting policy for related party transactions. Related Party Transactions Related Party Transactions [Policy Text Block] Non Employee Director Stock Plan [Member]. Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract] Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, before Tax Non Employee Director Stock Plan [Member] Repurchase of common stock, shares Repurchase of common stock Authorized share repurchase amount Stock Repurchased and Retired During Period, Shares Stock Repurchase Program, Authorized Amount Share Repurchase [Text Block] SHARE REPURCHASES Tax payments related to shares withheld for share-based compensation plans Payments Related to Tax Withholding for Share-based Compensation Gross Unrealized Losses Fair Value Schedule of Available-for-sale Securities [Line Items] Unrealized Loss Position [Line Items] Schedule of Available-for-sale Securities [Table] Common stock Accounting Standards Update 2016-09 [Member] Excess tax benefit from the exercise of stock options New Accounting Pronouncements or Change in Accounting Principle [Line Items] Represents information pertaining to change in accounting for stock option forfeitures. Change in accounting for stock option forfeitures [Member] Change in Accounting for Stock Option Forfeitures [Member] Adjustments for Change in Accounting Principle [Domain] Common stock reserved for issuance pursuant to outstanding awards In Unrealized Loss Position For Less Than 12 Months Adjustments for Change in Accounting Principle [Axis] Cumulative effect adjustment of accumulated other comprehensive income [Member] ADOPTION OF ASU NO. 2016-09, IMPROVEMENTS TO EMPLOYEE SHARE-BASED PAYMENT ACCOUNTING [Abstract] Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value [Abstract] SINGAPORE Common stock repurchases Payments for Repurchase of Common Stock Other Increases (Decreases) Charged to Costs and Expenses Balance at end of Period Valuation Allowances and Reserves, Balance Schedule of valuation and qualifying New Accounting Pronouncements or Change in Accounting Principle [Table] Allowance for deferred taxes Allowance for obsolete inventory Valuation Allowances and Reserves, Deductions Valuation Allowances and Reserves, Additions for Charges to Cost and Expense Balance at Beginning of Period Valuation and Qualifying Accounts Disclosure [Line Items] Valuation Allowance of Deferred Tax Assets [Member] Inventory Valuation Reserve [Member] Valuation Allowances and Reserves [Domain] Valuation Allowances and Reserves Type [Axis] Valuation and Qualifying Accounts Disclosure [Table] Schedule of valuation and qualifying Schedule of Valuation and Qualifying Accounts Disclosure [Text Block] SCHEDULE OF VALUATION AND QUALIFYING ACCOUNTS [Abstract] Stock Repurchased During Period, Shares Stock Repurchased During Period, Value Repurchase of common stock, Shares Repurchase of common stock Change In Accounting For Employee Share Based Payment Forfeitures [Member] Significant Customer C [Member] Customer Three [Member]. Customer Three [Member] Significant Customer A [Member] After tax net unrealized loss recorded in accumulated other comprehensive loss reclassified to earnings Customer Two [Member] Tax payments related to shares withheld for share-based compensation plans Tax Payments Related to Shares with held for Share Based Compensation Plans Foreign Currency Transaction Gain (Loss), before Tax Recognized foreign currency transactions gain (loss) Customer Two [Member]. Significant Customer B [Member] Customer One [Member] Customer One [Member]. Document And Entity Information [Abstract] Foreign Currency Cash Flow Hedge Gain (Loss) Reclassified to Earnings, Net Document and Entity Information [Abstract] Document Type Document Type Amendment Flag Amendment Flag Document Period End Date Document Period End Date Document Fiscal Period Focus Document Fiscal Period Focus Document Fiscal Year Focus Document Fiscal Year Focus Entity Registrant Name The number of quarterly installments in which awards will vest. US Treasury and Government [Member] Entity Registrant Name Entity Central Index Key Entity Central Index Key Current Fiscal Year End Date Current Fiscal Year End Date Entity Filer Category Entity Filer Category Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Entity Current Reporting Status Entity Current Reporting Status Entity Public Float Entity Public Float Entity Well-known Seasoned Issuer Entity Well-known Seasoned Issuer Entity Voluntary Filers Entity Voluntary Filers CONSOLIDATED BALANCE SHEETS [Abstract] ASSETS Assets [Abstract] Cash and cash equivalents Cash and cash equivalents – beginning of period Cash and cash equivalents – end of period Cash and Cash Equivalents, at Carrying Value Marketable securities Marketable Securities, Current Accounts receivable, less allowance for doubtful accounts of $302 at December 31, 2020 and $322 at December 31, 2019 Accounts receivable Accounts Receivable, Net, Current Inventories Total inventories Inventory, Net Other current assets Other Assets, Current Total current assets Assets, Current Marketable securities, long-term Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block] Number of Quarterly Installments In Which Awards Will Vest Number of quarterly installments in which awards will vest Extended Product Warranty Accrual, Increase for Warranties Issued Revenue deferrals Marketable Securities, Noncurrent Equipment and leasehold improvements, net Equipment and leasehold improvements, net Property, Plant and Equipment, Net Intangibles, net Intangible Assets, Net (Excluding Goodwill) Goodwill Total unrealized gains on available-for-sale securities Goodwill Goodwill Other assets Other Assets, Noncurrent Total unrealized gains on foreign exchange forward contracts Defined contribution retirement savings plans in the United Kingdom [Member] Defined Contribution Retirement Savings Plans [Member] Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, before Tax Foreign currency translation adjustments, Tax Total assets Retirement Savings Plan Section 401k [Member] Represents information pertaining to defined contribution retirement savings plans in the United Kingdom. Assets LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Represents information pertaining to retirement savings plan pursuant to Section 401(k) of the Internal Revenue Code (the Code). Retirement savings plan pursuant to Section 401(k) [Member] Accounts payable Accounts Payable, Current Aggregate intrinsic value of stock options exercised Grant date fair value (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value [Table Text Block] Retirement Plan Name [Axis] Retirement Plan Name [Domain] Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss In Unrealized Loss Position For Greater Than 12 Months In Unrealized Loss Position For Greater Than 12 Months In Unrealized Loss Position For Less Than 12 Months Available-for-sale Securities, Continuous Unrealized Loss Position, Accumulated Loss [Abstract] Accrued expenses Accrued expenses Accrued Liabilities, Current Total current liabilities Liabilities, Current Other liabilities Other liabilities Other Liabilities, Noncurrent Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value Accrued Income Taxes, Noncurrent Reserve for income taxes Total liabilities Liabilities Commitments and contingencies Commitments and Contingencies Stockholders’ equity: Stockholders' Equity Attributable to Parent [Abstract] Preferred stock, no par value, 5,000,000 shares authorized, none outstanding Preferred Stock, Value, Issued Common stock, no par value, 25,000,000 shares authorized, 7,294,617 shares issued and outstanding at December 31, 2020 and 7,154,591 shares issued and outstanding at December 31, 2019 Common Stock, Value, Issued Accumulated other comprehensive loss Balance at the beginning of period Balance at the end of period Accumulated Other Comprehensive Income (Loss), Net of Tax Retained earnings Retained Earnings (Accumulated Deficit) BALANCE BALANCE Total stockholders’ equity Stockholders' Equity Attributable to Parent Total liabilities and stockholders’ equity Liabilities and Equity Accounts receivable, allowance for doubtful accounts Allowance for Doubtful Accounts Receivable, Current Preferred stock, par value (in usd per share) Preferred Stock, No Par Value Preferred stock, shares authorized, shares Preferred Stock, Shares Authorized Preferred stock, shares outstanding, shares Preferred Stock, Shares Outstanding Common stock, par value (in usd per share) Common Stock, No Par Value Common stock, shares authorized, shares Common Stock, Shares Authorized Proceeds from maturities of available-for-sale marketable securities Common stock, shares issued, shares Common Stock, Shares, Issued Common stock, shares outstanding, shares Common Stock, Shares, Outstanding CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract] Revenues Revenues Cost of revenues Cost of Revenue Gross margin Gross margin Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost Gross Profit Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Research and development expenses Research and Development Expense Selling, general and administrative expenses Selling, General and Administrative Expense Income (loss) from operations Income from operations Operating Income (Loss) Nonoperating Income (Expense) Interest income and other, net Income tax provision Total provision (benefit) for income taxes Income Tax Expense (Benefit) Net Income (Loss) Attributable to Parent Net income Net income Net income (loss) Net income Net income (loss) per share - Basic (in usd per share) Per Share Amount, Basic (in usd per share) Net income per share - Basic (in usd per share) Earnings Per Share, Basic Net income (loss) per share - Diluted (in usd per share) Per Share Amount, Dilutive (in usd per share) Net income per share - Diluted (in usd per share) Earnings Per Share, Diluted Weighted Average Shares Outstanding, Basic, shares Weighted average shares outstanding – Basic, shares Weighted Average Number of Shares Outstanding, Basic Weighted Average Shares Outstanding, Dilutive, shares Weighted average shares outstanding – Diluted, shares Weighted Average Number of Shares Outstanding, Diluted CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME [Abstract] Other Comprehensive Income (Loss), before Tax [Abstract] Other comprehensive income, before tax: OTHER FINANCIAL STATEMENT DATA [Abstract] Total other comprehensive income before income taxes Other Comprehensive Income (Loss), before Tax, Portion Attributable to Parent Other comprehensive income (loss), Tax Income tax provision Other Comprehensive Income (Loss), Tax Other Comprehensive Income (Loss), Net of Tax Other comprehensive income, net of tax Total other comprehensive income after income taxes Comprehensive Income (Loss), Net of Tax, Attributable to Parent Total comprehensive income CONSOLIDATED STATEMENTS OF CASH FLOWS [Abstract] Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax Depreciation and amortization Depreciation, Depletion and Amortization Provision for Doubtful Accounts (Recovery) provision for doubtful accounts Total deferred Deferred taxes Deferred Income Tax Expense (Benefit) Equity based compensation expense Pre-tax share-based compensation expense Share-based compensation Share-based Compensation Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Increase (Decrease) in Accounts Receivable Accounts and trade notes receivable Inventories Increase (Decrease) in Inventories Accounts payable Increase (Decrease) in Accounts Payable Advance customer payments Increase (Decrease) in Customer Advances Accrued expenses Increase (Decrease) in Accrued Liabilities Net cash provided by operating activities Proceeds from Sale of Available-for-sale Securities Proceeds from sales of available-for-sale marketable securities Additions to equipment and leasehold improvements Payments to Acquire Property, Plant, and Equipment Additions to patents Payments to Acquire Intangible Assets Net Cash Provided by (Used in) Investing Activities Net cash used in investing activities Proceeds from exercise of stock options Unrealized gains on available-for-sale securities: Proceeds from Stock Options Exercised Net Cash Provided by (Used in) Financing Activities Net cash (used in) provided by financing activities Effects of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash and Cash Equivalents Net increase (decrease) in cash and cash equivalents Cash and Cash Equivalents, Period Increase (Decrease) CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY [Abstract] Statement [Table] Statement [Table] Equity Components [Axis] Equity Components [Axis] Equity Component [Domain] Equity Component [Domain] Common Stock [Member] Common Stock [Member] Accumulated Other Comprehensive Loss [Member] Stock issued during period, shares AOCI Attributable to Parent [Member] Retained Earnings [Member] Retained Earnings [Member] Statement [Line Items] Statement [Line Items] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] BALANCE, shares BALANCE, shares Shares, Issued Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures Share issuances for director compensation Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures Share issuances for director compensation, shares Issuance of common stock under Employee Stock Purchase Plan Stock Issued During Period, Value, Employee Stock Purchase Plan Issuance of common stock under Employee Stock Purchase Plan, shares Stock Issued During Period, Shares, Employee Stock Purchase Plans BUSINESS DESCRIPTION AND SIGNIFICANT ACCOUNTING POLICIES [Abstract] MARKETABLE SECURITIES [Abstract] MARKETABLE SECURITIES Cash, Cash Equivalents, and Marketable Securities [Text Block] DERIVATIVES [Abstract] DERIVATIVES Derivative Instruments and Hedging Activities Disclosure [Text Block] COMPREHENSIVE INCOME [Abstract] COMPREHENSIVE INCOME (LOSS) Comprehensive Income (Loss) Note [Text Block] FAIR VALUE MEASUREMENTS [Abstract] FAIR VALUE MEASUREMENTS Fair Value Disclosures [Text Block] SHARE-BASED COMPENSATION [Abstract] Disclosure of Compensation Related Costs, Share-based Payments [Text Block] Available-for-sale Equity Securities, Gross Unrealized Loss SHARE-BASED COMPENSATION NET INCOME PER SHARE [Abstract] Earnings Per Share [Text Block] NET INCOME PER SHARE Other Financial Statement Data [Abstract] GOODWILL [Abstract] GOODWILL Goodwill Disclosure [Text Block] INCOME TAXES [Abstract] INCOME TAXES U.S. Government And Agency Obligations [Member] Available-for-sale Securities [Member] Proceeds from Maturities, Prepayments and Calls of Available-for-sale Securities Income Tax Disclosure [Text Block] OPERATING LEASES [Abstract] OPERATING LEASES Leases of Lessee Disclosure [Text Block] 401(K) AND OTHER DEFINED CONTRIBUTION PLANS [Abstract] 401(K) AND OTHER DEFINED CONTRIBUTION PLANS Compensation and Employee Benefit Plans [Text Block] REVENUE CONCENTRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS [Abstract] CONTINGENCIES [Abstract] CONTINGENCIES Commitments and Contingencies Disclosure [Text Block] QUARTERLY FINANCIAL INFORMATION (UNAUDITED) [Abstract] QUARTERLY FINANCIAL INFORMATION (UNAUTDITED) Schedule Of Non-Vested Restricted Stock Activity Net changes related to foreign exchange forward contracts: Unrealized gains (losses), Before Tax Unrealized gains (losses) Quarterly Financial Information [Text Block] Principles of Consolidation Reclassification adjustment for losses included in net income (loss), Before Tax Consolidation, Policy [Policy Text Block] Segment Reporting Segment Reporting, Policy [Policy Text Block] Use of Estimates Reclassification adjustment for losses included in net income (loss) Use of Estimates, Policy [Policy Text Block] Cash and Cash Equivalents Cash and Cash Equivalents, Policy [Policy Text Block] Marketable Securities Marketable Securities, Policy [Policy Text Block] Inventories Inventory, Policy [Policy Text Block] Equipment and Leasehold Improvements Property, Plant and Equipment, Policy [Policy Text Block] Schedule of Marketable Securities Classified As Cash Equivalents Adjustments to reconcile net income to net cash provided by operating activities: Business Combinations Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Business Combinations Policy [Policy Text Block] Goodwill Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] Patents Patents Policy [Policy Text Block] Patents Policy [Policy Text Block] Long Lived Assets Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block] Revenue Recognition Revenue Recognition, Policy [Policy Text Block] Foreign Currency Translation And Transactions Foreign Currency Transactions and Translations Policy [Policy Text Block] Research and Development Research, Development, and Computer Software, Policy [Policy Text Block] Derivatives and Hedging Derivatives, Policy [Policy Text Block] Advertising Costs Advertising Costs, Policy [Policy Text Block] Warranty Costs Standard Product Warranty, Policy [Policy Text Block] Income Taxes Regulatory Income Taxes, Policy [Policy Text Block] Earnings Per Share, Policy [Policy Text Block] Net Income Per Share Fair Value of Financial Instruments Fair Value of Financial Instruments, Policy [Policy Text Block] Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block] Share-Based Compensation Recent Accounting Developments New Accounting Pronouncements, Policy [Policy Text Block] Investment Type [Axis] Available-for-sale Securities [Table Text Block] Schedule of Marketable Securities Schedule of Accumulated Other Comprehensive Loss Share-based compensation Maximum Period in Which Accounts Receivable Become Due Fair Value, Assets Measured on Recurring Basis [Table Text Block] Fair Value Measurements for Marketable Securities and Foreign Exchange Forward Contracts Schedule Of Stock Option Activity Summary Of Pre-tax Equity Based Compensation Expense Summary Of Pre-tax Equity Based Compensation Expense [Table Text Block] Summary Of Pre-tax Equity Based Compensation Expense [Table Text Block] Schedule of Net Income Per Basic and Diluted Shares Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Schedule of Inventory, Current [Table Text Block] Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Inventory Components Property, Plant and Equipment [Table Text Block] Schedule Of Cash Flow Hedges Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block] Schedule of Equipment and Leasehold Improvements Schedule of Finite-Lived Intangible Assets [Table Text Block] Schedule of Intangible Assets Schedule of Accrued Expenses Schedule of Accrued Liabilities [Table Text Block] Other Noncurrent Liabilities Amount of deferred tax consequences attributable to taxable temporary differences derived from Right-of-use assets. Other Noncurrent Liabilities [Table Text Block] Deferred Tax Liabilities Right of Use Assets Right-of-use assets (operating leases) Schedule of Product Warranty Liability [Table Text Block] Schedule of Changes in Estimated Warranty Liability Operating lease liabilities Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating lease liabilities. Schedule Of Income Before Income Taxes Amount of accumulated amortization for demonstration inventories. Deferred Tax Assets Operating Lease Liabilities Accumulated Amortization Inventories Accumulated amortization for demonstration inventories Other Inventory, Demo, Gross Demonstration inventories, net Inventory Write-down Inventory write down Export Revenues [Member] Export Revenues [Member]. Options Outstanding, Expired, shares Export Revenues [Member] Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to unrecognized tax benefit. Effective Income Tax Rate Reconciliation Unrecognized Tax Benefit Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to expiring and unrecognized deferred tax attributes. Expiring and unrecognized deferred tax attributes (as a percent) Amount of increase in operating lease liabilities for right of use assets. Unrecognized tax benefit (as a percent) Increase in Operating Lease Liabilities for Right of Use Assets Increase in operating lease liabilities for right of use assets Schedule Of Provision (Benefit) For Income Taxes Amount of increase (decrease) in the valuation allowance due to non-utilization of research and development tax credits. Valuation allowance change in amount due to non utilization of research and development tax credits Valuation Allowance Change in Amount Due to Non Utilization of Research and Development Tax Credits Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Unrecognized tax benefits current Current portion of the unrecognized tax benefits Represents the repayment period of trade notes receivable. Unrecognized Tax Benefits Current Trade Notes Receivable Repayment Period Trade notes receivable repayment period Trade notes receivable interest rate stated percentage Represents an annual effective interest rate of trade notes receivable. Proceeds from sale of equipment Trade Notes Receivable Interest Rate Stated Percentage Gain (Loss) on Disposition of Property Plant Equipment Proceeds from Sale of Property, Plant, and Equipment Prepaid expenses and other assets Gain on sale of equipment Other, net Increase (Decrease) in Prepaid Expense and Other Assets Prepaid expenses Deferred Tax Liabilities, Other Schedule Of Deferred Tax Assets And Liabilities Schedule of Deferred Tax Assets and Liabilities [Table Text Block] Weighted average discount rate applied to operating leases Prepaid Expense, Current Schedule Of Future Minimum Lease Payments Required Under Non-cancelable Operating Lease Agreements Operating Leases of Lessee Disclosure [Table Text Block] Represents information pertaining to restricted shares and restricted stock units. Quarterly Financial Information Quarterly Financial Information [Table Text Block] Business Description And Significant Accounting Policies [Table] Business Description And Significant Accounting Policies [Table] Business Description And Significant Accounting Policies [Table] Counterparty Name [Axis] Counterparty Name [Axis] Counterparty Name [Domain] Counterparty Name [Domain] Key Tronic Corporation [Member] Key Tronic Corporation [Member] Key Tronic Corporation [Member] Operating Lease, Weighted Average Discount Rate, Percent Weighted average remaining term for operating leases Related Party [Axis] Incentive to Lessee Operating Lease, Weighted Average Remaining Lease Term Incentives from landlord recorded as leasehold improvements Cash paid for amounts included in the measurement of operating lease liabilities Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block] Operating Leases, Future Minimum Payments, Due in Rolling Year Five Operating Lease, Payments Operating Leases, Future Minimum Payments, Due in Rolling Year Three Operating Leases, Future Minimum Payments, Due in Rolling Year Four Operating Leases, Future Minimum Payments, Next Rolling Twelve Months Operating Leases, Future Minimum Payments, Due in Rolling Year Two Related Party [Axis] Related Party [Domain] Related Party [Domain] Affiliated Entity [Member] Affiliated Entity [Member] Property, Plant and Equipment, Type [Axis] Property, Plant and Equipment, Type [Axis] Property, Plant and Equipment, Type [Domain] Property, Plant and Equipment, Type [Domain] Leasehold Improvements [Member] Leasehold Improvements [Member] 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] Demonstration Inventories [Member] Demonstration Inventories [Member] Demonstration Inventories [Member] Range [Axis] Range [Axis] Range [Domain] Range [Domain] Minimum [Member] Minimum [Member] Maximum [Member] Maximum [Member] Business Description And Significant Accounting Policies [Line Items] Business Description And Significant Accounting Policies [Line Items] Business Description And Significant Accounting Policies [Line Items] Cash held in foreign accounts Cash Held In Foreign Accounts Cash Held In Foreign Accounts Demonstration inventory useful life (in months) Demonstration Inventory Useful Life 2026 & Thereafter Operating Leases, Future Minimum Payments, Due in Rolling after Year Five Demonstration Inventory Useful Life Estimated useful lives of the equipment and leasehold improvements (in years) Property, Plant and Equipment, Useful Life Number of reporting units Number of Reporting Units Foreign currency transaction (gains) losses Foreign Currency Transaction Gain (Loss), Realized Advertising expense 2024 2025 2022 2023 Advertising Expense Present value of minimum lease payments for operating leases. 2021 Warranty period (in years) Product Warranty, Period Product Warranty, Period Present Value of Operating Leases Future Minimum Payments Present value of operating lease liabilities Less: amount representing interest Interest Portion of Operating Leases Total Amount necessary to reduce minimum lease payments to present value for operating leases. Variable lease cost Short-term lease cost Lease, Cost Operating lease cost Variable Lease, Cost Short-term Lease, Cost Schedule of components of our costs for operating leases Operating Lease, Cost Amounts reclassified from deferred warranty revenue Lease, Cost [Table Text Block] Amounts reclassified from beginning contract liabilities and deferred warranty revenue to revenue. Contract with Customer Liability and Deferred Revenue Revenue Recognized Total Tabular disclosure of the amounts reclassified from beginning contract liabilities to revenue. Summary of the amounts reclassified from beginning contract liabilities to revenue Schedule of Amounts Reclassified from Beginning Contract Liabilities to Revenue [Table Text Block] Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, attributable to deferred warranty revenue. Contract liabilities - deferred warranty revenue Deferred Revenue, Revenue Recognized Contract with Customer Liability Deferred Warranty Revenue Long-term operating lease liabilities Operating Lease, Liability, Current Operating Lease, Liability, Noncurrent Sales to related party Effective Income Tax Rate Reconciliation Expiring and Unrecognized Deferred Tax Attributes Number of Customers Right-of-use assets (operating leases) The number of customers. Number of customers Document Annual Report Document Transition Report Local Phone Number Entity Interactive Data Current Entity Address, Postal Zip Code City Area Code Entity Address, City or Town Entity Address, State or Province Revenue from Related Parties Schedule Of Stock Option Valuation Assumptions Schedule of Gain (Loss) on Investments [Table] Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block] Schedule of Gain (Loss) on Investments [Table] Entity Tax Identification Number Entity Address, Address Line One Entity File Number Entity Incorporation, State or Country Code Accounts Receivable, after Allowance for Credit Loss, Noncurrent Trade notes receivable, long-term Non-cash operating lease expense Operating lease liabilities Increase (Decrease) in Other Operating Liabilities Operating Lease, Expense Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Summary Of Certain Significant Customer Information Schedule of Product Information [Table Text Block] Summary Of Revenue By Product Line Number of Foreign Currency Derivatives Held Short-Term [Member] Marketable Securities - Short-Term [Member] Goodwill, Impairment Loss Number of open foreign exchange forward contracts Accounts Receivable and Allowance for Doubtful Accounts Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period Long-Term [Member] Entity Small Business Goodwill impairment REVENUE CONCENETRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS Entity Emerging Growth Company Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate Concentration Risk Disclosure [Text Block] Mixed office and warehouse facility, square footage Area of Real Estate Property Deferred Revenue, by Arrangement, Disclosure [Table Text Block] Finite-lived Intangible Assets Amortization Expense [Table Text Block] Schedule of Changes in Deferred Warranty Revenue Schedule of Amortization Expense for Intangible Assets Schedule of Revenues from External Customers and Long-Lived Assets [Table] Additional Financial Information Disclosure [Text Block] OTHER FINANCIAL STATEMENT DATA Revenue, Major Customer [Line Items] Expiration of stock options from date of grant (in years) Revenue, Major Customer [Line Items] Revenues from External Customers and Long-Lived Assets [Line Items] Concentration Risk [Table] Concentration Risk [Line Items] Defined Contribution Plan Disclosure [Line Items] Product Information [Line Items] Net UTB balance at end of year Defined Contribution Plan [Table] Accrual for warranties Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] Marketable Securities - Long-Term [Member] Purchases of available-for-sale marketable securities Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Payments to Acquire Available-for-sale Securities CASH FLOWS FROM FINANCING ACTIVITIES: CASH FLOWS FROM INVESTING ACTIVITIES: Net Cash Provided by (Used in) Operating Activities, Continuing Operations Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract] SHARE REPURCHASES [Abstract] CASH FLOWS FROM OPERATING ACTIVITIES: Restatement Adjustment [Member] Number of equity securities available-for-sale Change in accounting for employee share-based payment forfeitures [Member] Income tax benefits related to share-based compensation Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract] Metrology Products and Services [Member] Earnings and dividends of foreign corporations (as a percent) Represents information pertaining to change in accounting for employee share-based payment forfeitures. Recognition of Deferred Tax Assets for Previously Unrecognized Excess Tax Benefits [Member] Number of shares related to tax payments of shares withheld for share-based compensation plans. Represents the minimum ownership percentage in foreign corporations for foreign-source dividends deduction. Minimum ownership percentage in foreign corporations for foreign-source dividends deduction Represents the amount of tax payments related to shares withheld for share-based compensation plans. Benefit from eliminating previously recorded deferred tax liability for undistributed earnings Amount of benefit from eliminating the previously recorded deferred tax liability for the undistributed earnings of the Singapore subsidiary. Benefit from Eliminating Previously Recorded Deferred Tax Liability for Undistributed Earnings Percentage of Dividends Received Deduction for Foreign Source Dividends Received from 10 Percent or More Owned Foreign Corporations The percentage of dividends-received-deduction for foreign-source dividends received from 10%-or-more owned foreign corporations. Percentage of dividends-received-deduction for foreign-source dividends received from 10%-or-more owned foreign corporations Employees can purchase stock at the percentage rate of the lower of the market price on the first or last day of the offering period (as a percent) Corporate Debt Securities And Certificates Of Deposit [Member] Corporate Debt Securities And Certificates Of Deposit [Member] Corporate Debt Securities And Certificates Of Deposit [Member] Asset-backed Securities [Member] Asset Backed Securities [Member] Foreign currency translation adjustments, Tax Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Tax Net change related to available-for-sale securities: Unrealized gains, Tax Effective Income Tax Rate Reconciliation, Earning and Dividends of Foreign Affiliate, Percent Effective Income Tax Rate Reconciliation, Earning and Dividends of Foreign Affiliate, Percent Net change related to available-for-sale securities: Unrealized gains, Net of Tax Reclassification adjustment for gains included in net income Reclassification adjustments for gains included in interest income and other, Before Tax Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Tax Reclassification adjustments for gains included in interest income and other, Tax Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax Percentage of change in corporate income tax rate due to write-down of deferred tax assets Effective Income Tax Rate Reconciliatio of Corporate Income Tax Rate Write Down of Deferred Tax Assets Percentage of effective income tax rate reconciliation, earning and dividends of foreign corporations. Effective Income Tax Rate Reconciliation Earning and Dividends of Foreign Corporations Percent Reclassification adjustments for gains included in interest income and other, Net of Tax Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value Net changes related to foreign exchange forward contracts: Unrealized gains (losses), Tax Equity Security [Member] Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Tax Equity Securities [Member] Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Tax Reclassification adjustment for losses included in net income (loss), Net of Tax Cost 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] Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized Number of shares available for future issuance, shares Accumulated depreciation and amortization Represents information pertaining to recognition of the deferred tax assets for previously unrecognized excess tax benefits. Accumulated amortization for demonstration inventories Number of additional shares authorized for issuance Recognition of the deferred tax assets for previously unrecognized excess tax benefits [Member] Available-for-sale Securities, Amortized Cost Basis Unrealized gain Unrealized Gains Unrealized loss Aggregate intrinsic value for all options outstanding Aggregate intrinsic value of exercisable options Unrealized Losses Fair value Fair Value Available-for-sale Securities Debt Securities Unrealized Gain Position [Member] Debt Securities Unrealized Gain Position [Member] Debt Securities Unrealized Gain Position [Member] Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Shares, Granted Shares granted, shares Debt Securities Unrealized Loss Position [Member] Weighted average grant date fair value (in usd per share) Unrecognized compensation cost related to non-vested equity based compensation Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period Debt Securities Unrealized Loss Position [Member] Debt Securities Unrealized Loss Position [Member] Maximum maturity of debt securities (less than 5 years) Maximum Maturity Of Debt Securities Maximum Maturity Of Debt Securities Maximum time for loss position (in months) Maximum Time For Loss Position Maximum Time For Loss Position Available-for-sale Securities, Number of Equity Securities Available-For-Sale Securities, Number Of Equity Securities Net change related to available-for-sale securities: Unrealized gains, Before Tax Available-for-sale securities, number of equity securities Foreign currency translation adjustments, Before Tax Proceeds from sale of marketable securities Proceeds from Sale and Maturity of Available-for-sale Securities Realized gain on available for sale marketable securities Available-for-sale securities, gross realized gain (loss) Recorded Basis Marketable securities classified as cash equivalents, recorded basis Marketable Securities Classified As Cash Equivalents, Recorded Basis Marketable Securities Classified As Cash Equivalents, Recorded Basis Marketable Securities Classified As Cash Equivalents, Cost Marketable Securities Classified As Cash Equivalents, Cost Cost Unrealized Gains Marketable Securities Classified As Cash Equivalents, Unrealized Gains Unrealized Losses Marketable Securities Classified As Cash Equivalents, Unrealized Losses Maximum length of time to hedge (in months) Maximum Remaining Maturity of Foreign Currency Derivatives Average remaining maturity of foreign currency derivatives (in years) Average Remaining Maturity of Foreign Currency Derivatives Derivative instruments-liabilities: Foreign exchange forward contracts Foreign exchange forward contracts, liability Foreign Currency Contracts, Liability, Fair Value Disclosure Income Statement Location [Axis] Income Statement Location [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Cost of Revenues [Member] Cost of Sales [Member] Foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax, Portion Attributable to Parent Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, before Tax, [Abstract] Research and Development Expense [Member] Research and Development [Member] Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Research and Development Expense [Member] Derivative Instruments, Gain (Loss) [Table] Schedule Of Marketable Securities Classified As Cash Equivalents [Table Text Block] Derivative Instruments, Gain (Loss) [Table] Selling, General and Administrative Expenses [Member] Schedule Of Marketable Securities Classified As Cash Equivalents [Table Text Block] Selling, General and Administrative [Member] Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, before Tax Selling, General and Administrative Expenses [Member] Derivative Instruments, Gain (Loss) [Line Items] Derivative Instruments, Gain (Loss) [Line Items] Accumulated Other Comprehensive Loss [Table] Accumulated Other Comprehensive Income (Loss) [Table] Accumulated Other Comprehensive Income (Loss) [Line Items] Accumulated Other Comprehensive Income (Loss) [Line Items] Total net changes related to available-for-sale securities, Tax Other Comprehensive Income (Loss), Available-for-sale Securities, Tax Foreign Currency Translation Adjustments [Member] Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Accumulated Net Investment Gain (Loss) Attributable to Parent [Member] Unrealized Gains (Losses) On Available-for-sale Securities [Member] Foreign Exchange Forward Contracts [Member] Other Comprehensive Income (Loss), before Reclassifications, Net of Tax Other comprehensive income (loss) before reclassifications Fair Value Measurements, Recurring and Nonrecurring [Table] Options Outstanding, Outstanding, Beginning of period, shares Available-for-sale Securities, Accumulated Gross Unrealized Gain, before Tax Available-for-sale Securities, Accumulated Gross Unrealized Loss, before Tax Total net changes related to foreign exchange forward contracts, Tax Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax Total net changes related to foreign exchange forward contracts, Net of Tax Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Net of Tax Fair Value Measurements, Recurring and Nonrecurring [Table] Fair Value, Hierarchy [Axis] Fair Value, Hierarchy [Axis] Total net changes related to available-for-sale securities, Net of Tax Accumulated Net Gain (Loss) from Cash Flow Hedges Attributable to Parent [Member] Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax Fair Value, Measurements, Fair Value Hierarchy [Domain] Reclassification adjustment for losses included in net income (loss), Tax Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Reclassifications from accumulated other comprehensive loss Stock Issued During Period Value Stock Options Exercised And Vesting Of Restricted Units, Net Of Shares Exchanged As Payment Stock Issued During Period Value Stock Options Exercised And Vesting Of Restricted Units, Net Of Shares Exchanged As Payment Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment Stock Issued During Period Shares Stock Options Exercised And Vesting Of Restricted Units, Net Of Shares Exchanged As Payment Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Stock Issued During Period Shares Stock Options Exercised And Vesting Of Restricted Units, Net Of Shares Exchanged As Payment Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment, shares Vesting period (in years) BUSINESS DESCRIPTION AND SIGNICANT ACCOUNTING POLICIES Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Shares of common stock reserved for stock based benefits, shares Options Outstanding, Outstanding, End of period, shares Fair Value Hierarchy [Domain] Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Quoted Prices In Active Markets For Identical Assets (Level 1) [Member] Fair Value, Inputs, Level 1 [Member] Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block] Significant Other Observable Inputs (Level 2) [Member] Earnings per share, potentially dilutive shares (in shares) Schedule of Cash Flow Hedging Instruments, Statements of Financial Performance and Financial Position, Location [Table Text Block] Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Fair Value, Inputs, Level 2 [Member] Significant Unobservable Inputs (Level 3) [Member] Fair Value, Inputs, Level 3 [Member] Marketable securities Investments, Fair Value Disclosure Gain (Loss) on Investments [Line Items] Gain (Loss) on Investments [Line Items] Unrealized loss on effective portion of foreign exchange forward contracts, net Accumulated Other Comprehensive Income (Loss), Cumulative Changes in Net Gain (Loss) from Cash Flow Hedges, Effect Net of Tax Plan Name [Axis] Plan Name [Axis] Plan Name [Domain] Plan Name [Domain] Stock Incentive Plan [Member] Stock Incentive Plan [Member] Stock Incentive Plan [Member] New Non-Employee Director Stock Plan [Member] New Non-Employee Director Stock Plan [Member] New Non-Employee Director Stock Plan [Member] Stock Grant Plan For Non-Employee Directors [Member] Stock Grant Plan For Non Employee Directors [Member] Pretax Loss Recognized in Earnings on Effective Portion of Derivative as a Result of Reclassification from Accumulated Other Comprehensive Loss Stock Grant Plan For Non-Employee Directors [Member] Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net Award Type [Axis] Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax, Portion Attributable to Parent Risk-free interest rates Foreign currency translation adjustments, Net of Tax Award Type [Axis] Award Type [Domain] Equity Award [Domain] Stock Options [Member] Employee Stock Option [Member] Stock Options And Restricted Stock Units (RSUs) [Member] Stock Options And Restricted Stock Units Rsus [Member] Stock Options And Restricted Stock Units (RSUs) [Member] Employee Stock Purchase Plan [Member] Employee Stock [Member] Restricted Stock Units (RSUs) [Member] Restricted Stock Units (RSUs) [Member] Number of stock-based compensation plans Number Of Stock-Based Compensation Plans Number of Stock-Based Compensation Plans Restricted stock units to common stock ratio, shares entitled, shares Restricted Stock Units to Common Stock Ratio Restricted Stock Units to Common Stock Ratio Number of shares granted for non-employee directors upon re-election, shares Number Of Shares Granted For Non-Employee Directors Upon Re-Election Number Of Shares Granted For Non-Employee Directors Upon Re-Election Stock granted, value Stock Granted, Value, Share-based Compensation, Gross Payroll deduction for employee stock purchase plan percentage Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Payroll Deduction For Employee Stock Purchase Plan Percentage Payroll Deduction For Employee Stock Purchase Plan Percentage Maximum contribution per plan year Maximum Contribution Per Plan Year Maximum Contribution Per Plan Year Non Employee Director Stock Plan [Member] Options Outstanding, Exercised, shares Employee Service Share-based Compensation, Tax Benefit from Compensation Expense Tax benefit from the exercise of stock options and vesting of share based payments Weighted Average Shares Outstanding, Dilutive effect of common equivalent shares, shares Weighted Average Number Diluted Shares Outstanding Adjustment Per Share Amount, Dilutive effect of common equivalent shares (in usd per share) Earnings Per Share Dilutive Adjustment Earnings Per Share Dilutive Adjustment Raw materials and purchased parts Inventory, Raw Materials and Purchased Parts, Net of Reserves Work in process Inventory, Work in Process, Gross Finished goods Inventory, Finished Goods, Gross Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Equipment [Member] Equipment [Member] Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Equipment and leasehold improvements, gross Property, Plant and Equipment, Gross Product Liability Contingency [Table] Product Liability Contingency [Table] Product Liability Contingency [Line Items] Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties Product Liability Contingency [Line Items] Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent Depreciation expense Depreciation Amortization expense, 2021 Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months Amortization expense, 2022 Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Net of Tax Finite-Lived Intangible Assets, Amortization Expense, Year Two Amortization expense, 2023 Finite-Lived Intangible Assets, Amortization Expense, Year Three Amortization expense, 2024 Finite-Lived Intangible Assets, Amortization Expense, Year Four Valuation allowance (as a percent) Amortization expense, 2025 Finite-Lived Intangible Assets, Amortization Expense, Year Five Additions based on tax positions related to the current year Schedule of Finite-Lived Intangible Assets [Table] Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions Schedule of Finite-Lived Intangible Assets [Table] Patents [Member] Patents [Member] Software [Member] Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions Computer Software, Intangible Asset [Member] Marketing Assets and Customer Relationships [Member] Fair value of shares vested Accounts receivable allowance Customer-Related Intangible Assets [Member] Noncompete Agreements [Member] Non-compete Agreements [Member] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Gross Carrying Amount Finite-Lived Intangible Assets, Gross Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Finite-Lived Intangible Assets, Net Net Amortization of intangibles Amortization of Intangible Assets Intangible assets acquired, Weighted Average Life (in years) Acquired Finite-lived Intangible Assets, Weighted Average Useful Life Wages and benefits Options Outstanding, Granted, shares Net changes related to foreign exchange forward contracts: Unrealized gains (losses), Net of Tax Employee-related Liabilities, Current Warranty liability Current portion of estimated warranty liability Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax Product Warranty Accrual, Current Other Other Accrued Liabilities, Current Deferred rent Deferred Rent Credit, Noncurrent Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Long-term estimated warranty liability Warranty liability Product Warranty Accrual, Noncurrent Deferred warranty revenue Long-term deferred warranty revenue Extended Product Warranty Accrual, Noncurrent Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Balance at beginning of period Balance at end of period Standard and Extended Product Warranty Accrual Warranty revision Settlements made during the period Standard Product Warranty Accrual, Decrease for Payments Movement in Extended Product Warranty Accrual [Roll Forward] Movement in Extended Product Warranty Accrual [Roll Forward] Options Outstanding, Forfeited, shares Balance at beginning of period Total deferred warranty revenue Extended Product Warranty Accrual Options Outstanding, Exercisable, End of period, shares Expected life in years Dividend yield Current portion of deferred warranty revenue Extended Product Warranty Accrual, Current Expected volatility Sources of income (loss) before income taxes: United States Income (Loss) from Continuing Operations before Income Taxes, Domestic Sources of income (loss) before income taxes: Foreign Income (Loss) from Continuing Operations before Income Taxes, Foreign Weighted average fair value on grant date Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Current: Current Income Tax Expense (Benefit), Continuing Operations [Abstract] Federal Current Federal Tax Expense (Benefit) State Current State and Local Tax Expense (Benefit) Foreign Current Foreign Tax Expense (Benefit) Total current Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted To Non-Employee Directors Upon Re-election, Per Director Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted To Non-Employee Directors Upon Re-election, Per Director Current Income Tax Expense (Benefit) Number of shares granted for non-employee directors upon re-election, per director Deferred: Weighted average remaining contractual term (in years) Shares, Vested Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract] Federal Deferred Federal Income Tax Expense (Benefit) State Deferred State and Local Income Tax Expense (Benefit) Foreign Deferred Foreign Income Tax Expense (Benefit) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Federal statutory rate (as a percent) State income taxes, net of federal benefit (as a percent) U.S. Subpart F income (as a percent) Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted To Non-Employee Directors Upon Re-election Effective Income Tax Rate Reconciliation US Subpart F Income Effective Income Tax Rate Reconciliation US Subpart F Income Restricted Shares and Restricted Stock Units [Member] Restricted Shares and Restricted Stock Units [Member] Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Percent Research and experimentation (R&D) credit (as a percent) Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent Foreign rate difference (as a percent) Other, net (as a percent) Effective Income Tax Rate Reconciliation, Other Adjustments, Percent Effective tax rate (as a percent) Effective Income Tax Rate Reconciliation, Percent Income Tax [Table] Income Tax [Table] Income Tax [Table] Shares, Forfeited Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions Reductions due to lapse of applicable statute of limitations Adjustments for New Accounting Pronouncements [Axis] Adjustments for New Accounting Pronouncements [Axis] Type of Adoption [Domain] Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted To Non-Employee Directors Upon Re-election Options granted to non-employee directors upon re-election Type of Adoption [Domain] Accounting Standards Update 2016-09 [Member] ASU 2016-09 [Member] Income Tax [Line Items] Income Tax [Line Items] Income Tax [Line Items] Accrued interest and penalties Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued Change in liability for uncertain tax positions Unrecognized Tax Benefits, Period Increase (Decrease) Estimated gross penalties and interest Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Fair Value Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Fair Value Need for valuation allowance based on history of cumulative losses Need For Valuation Allowance Based On History Of Cumulative Losses Need For Valuation Allowance Based On History Of Cumulative Losses Valuation allowance Valuation allowance Deferred Tax Assets, Valuation Allowance Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount Increase (decrease) in valuation allowance Research & Development tax credits Deferred Tax Assets, Tax Credit Carryforwards, Research Weighted-Average Exercise Price Per Share, Granted (in usd per share) Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Weighted average remaining contractual term for exercisable options (in years) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value Deferred tax assets, operating loss carryforwards, domestic Deferred Tax Assets, Operating Loss Carryforwards, Domestic Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercised Intrinsic Value Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercised Intrinsic Value Deferred tax assets, operating loss carryforwards, foreign Shares, Non-vested at December 31, 2020 Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Foreign net operating loss carry forwards Deferred Tax Assets, Operating Loss Carryforwards, Foreign Cash payments for income taxes, net of refunds received Income Taxes Paid, Net Foreign earnings repatriated Foreign Earnings Repatriated Amount of foreign earnings repatriated previously taxed Foreign Earnings Repatriated Amount Previously Taxed Foreign Earnings Repatriated Amount Previously Taxed Deferred tax liability for subsidiary's undistributed earnings Weighted Average Grant Date Fair Value, Granted (in usd per share) Weighted average grant date fair value, granted (in usd per share) Earnings of foreign subsidiary Deferred Tax Liabilities, Undistributed Foreign Earnings Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized Gross UTB balance at beginning of year Gross UTB balance at end of year Unrecognized Tax Benefits Additions for tax positions of prior years Reductions for tax positions of prior years Unrecognized equity based compensation weighted average period (in years) Assets Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition Deferred Tax Assets, Gross [Abstract] Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] Equipment, leaseholds and intangible amortization, net Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Deferred Tax Assets, Fixed Asset And Intangible Amortization, Net Deferred Tax Assets, Fixed Asset And Intangible Amortization, Net Inventory allowances Deferred Tax Assets, Inventory Accrued expenses Warranty accrual Deferred revenue Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Weighted-Average Exercise Price Per Share, Outstanding, Beginning of period (in usd per share) Weighted-Average Exercise Price Per Share, Outstanding, End of period (in usd per share) Deferred Tax Assets, Deferred Income Federal and state tax credits Deferred Tax Assets, Federal And State Tax Credits Deferred Tax Assets, Federal And State Tax Credits Federal and state net operating loss carry forwards Deferred Tax Assets, Operating Loss Carryforwards Unrealized gains and losses Deferred Tax Assets, Other Comprehensive Loss Other, net Deferred Tax Assets, Other Subtotal Deferred Tax Assets, Gross Total deferred tax assets Deferred Tax Assets, Net of Valuation Allowance Liabilities Deferred Tax Liabilities, Gross [Abstract] Deferred Tax Liabilities, Fixed Asset And Intangible Amortization, Net. Deferred Tax Liabilities, Fixed Asset And Intangible Amortization, Net Equipment, leaseholds and intangible amortization, net Inventory allowances Deferred Tax Liabilities, Inventory Unrealized gains and losses Deferred Tax Liabilities, Other Comprehensive Income Subtotal Deferred Tax Liabilities, Gross Total deferred tax liabilities Deferred Tax Liabilities, Net Schedule of Operating Leased Assets [Table] Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Weighted-Average Exercise Price Per Share, Exercised (in usd per share) Schedule of Operating Leased Assets [Table] Name of Property [Axis] Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Weighted-Average Exercise Price Per Share, Expired (in usd per share) Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves Name of Property [Axis] Name of Property [Domain] Name of Property [Domain] Golden Valley [Member] Golden Valley [Member] Share Based Compensation Arrangement By Share Based Payment Award Options Expired In Period Weighted Average Exercise Price Golden Valley [Member] Bloomington [Member] Bloomington [Member] Share Based Compensation Arrangement By Share Based Payment Award Options Expired In Period Weighted Average Exercise Price Weighted-Average Exercise Price Per Share, Forfeited (in usd per share) Bloomington [Member] Geographical [Axis] Geographical [Axis] Segment, Geographical [Domain] Geographical [Domain] MINNESOTA Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Marketable Securities Classified As Cash Equivalents, Unrealized Gains MINNESOTA SINGAPORE Singapore [Member] Operating Leased Assets [Line Items] Operating Leased Assets [Line Items] Renewal options, number Renewal Options, Number Renewal Options, Number Rent expense Operating Leases, Rent Expense Marketable Securities Classified As Cash Equivalents, Unrealized Losses Options granted in period, fair value Weighted-Average Exercise Price Per Share, Exercisable, End of period (in usd per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Operating Leases, Future Minimum Payments Due, Next Twelve Months 2020 Operating Leases, Future Minimum Payments, Due in Two Years 2021 Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Operating Leases, Future Minimum Payments, Due in Three Years 2022 Operating Leases, Future Minimum Payments, Due in Four Years 2023 Operating Leases, Future Minimum Payments Due Total lease payments Aggregate intrinsic value of exercised stock options Earnings and dividends of foreign affiliate (as a percent) Minimum Ownership Percentage in Foreign Corporations for Foreign Source Dividends Deduction Matching contributions to employees Defined Contribution Plan, Employer Discretionary Contribution Amount Products and Services [Axis] Products and Services [Axis] Products and Services [Domain] Shares, Non-vested at December 31, 2019 Products and Services [Domain] OEM Alignment Sensors [Member] Oem Alignment Sensors [Member] High Precision 3D and 2D Sensors [Member] Semiconductor Sensors [Member] Semiconductor Sensors [Member] Semiconductor Sensors [Member] Represents information pertaining to inspection systems. Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term Inspection systems [Member] Inspection systems [Member] Three Dimensional Scanning Systems and Services [Member] Three Dimensional Scanning Systems and Services [Member] 3D Scanning Solutions and Services [Member] Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate Concentration Risk Type [Axis] Concentration Risk Type [Axis] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Customer Concentration Risk [Member] Customer Concentration Risk [Member] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Revenues [Member] Sales Revenue, Net [Member] Customer [Axis] Customer [Axis] Share-based compensation (as a percent) Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent Name of Major Customer [Domain] Customer [Domain] Percentage of Revenues Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Concentration Risk, Percentage Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Unvested shares Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period Revenue, export sales percentage Revenue Export Sales Percentage Revenue Export Sales Percentage United States [Member] UNITED STATES Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period Netherlands [Member] NETHERLANDS Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations Other Europe [Member] Other Europe [Member] Other Europe [Member] China [Member] Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts CHINA Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] South Korea [Member] Pretax Gain (Loss) Recognized in Other Comprehensive Income (Loss) on Effective Portion of Derivative KOREA, REPUBLIC OF Japan [Member] JAPAN Other Asia [Member] Other Asia [Member] Other Asia [Member] Other [Member] Other Geographic Location [Member] Other Geographic Location [Member] Europe [Member] Revenue, Initial Application Period Cumulative Effect Transition [Table] Asia And Other [Member] Asia And Other [Member] Europe [Member] Long-Lived Assets Total long-lived assets Asia And Other [Member] Investments [Domain] Short-term Investments [Member] Lease extension period (in years) Renewal options, term (in years) Lessee, Operating Lease, Renewal Term Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Period for recognizing rental expense (in years) Lessee, Operating Lease, Term of Contract Lessor, Operating Lease, Renewal Term Accounts Receivable Allowance for Doubtful Accounts [Member] Allowance established for amounts due that are unlikely to be received. Financial Instruments [Domain] Allowance for doubtful accounts Entity Shell Company Financial Instrument [Axis] Other Long-term Investments [Member] Income per share Revenue from Contract with Customer [Text Block] REVENUE RECOGNITION - TOPIC 606 Weighted Average Grant Date Fair Value, Non-vested at December 31, 2019 (in usd per share) Weighted Average Grant Date Fair Value, Non-vested at December 31, 2020 (in usd per share) Period for deferred warranty revenue expected to be recognized REVENUE RECOGNITION - TOPIC 606 Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Disaggregation of Revenue [Table Text Block] Contract with Customer, Asset and Liability [Table Text Block] Summary of revenue performance obligations Summary of contract assets and contract liabilities Initial Application Period Cumulative Effect Transition [Axis] Initial Application Period Cumulative Effect Transition [Domain] Effect of adoption of Topic 606 [Member] Accounting Standards Update 2014-09 [Member] REVENUE RECOGNITION - TOPIC 606 Earnings Per Share, Basic and Diluted Contract with Customer, Liability, Revenue Recognized Capitalized Contract Cost, Impairment Loss Accounting Standards Update 2014-09 [Member] Amounts reclassified from beginning contract liabilities to revenue Impairment losses for contract assets Revenue, Initial Application Period Cumulative Effect Transition [Line Items] Disaggregation of Revenue [Table] Timing of Transfer of Good or Service [Axis] Timing of Transfer of Good or Service [Domain] Transferred over Time [Member] Transferred at Point in Time [Member] Disaggregation of Revenue [Line Items] Percentage of Revenue Performance Obligations Percent of Revenues Percentage of the revenue performance obligations. Contract with Customer, Asset, Net Contract liabilities - advance customer payments Revenue recognized over time [Member] Revenue recognized at a point in time [Member] Weighted Average Grant Date Fair Value, Vested (in usd per share) Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, before Tax Performance Obligations Contract assets, included in other current assets Contract with Customer, Liability Amortization Period of Incremental Costs of Obtaining Contract Amortization period of incremental costs of obtaining a contract Period for Value of Unsatisfied Performance Obligations Which Not Disclosed Period for the value of unsatisfied performance obligations which are not disclosed Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value, Forfeited (in usd per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value 2024 2025 & Thereafter Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward] Operating Leases, Future Minimum Payments, Due in Five Years Operating Leases, Future Minimum Payments, Due Thereafter Schedule of Amounts Recognized in Other Comprehensive Income (Loss) [Table Text Block] Unrealized loss on available for sale equity security Available-for-sale Securities, Gross Realized Gain (Loss) Accounting Standards Update 2016-01 [Member] The Effect of the Reclassification from Comprehensive Income (Loss) to Earnings ASU 2016-01 [Member] ASU 2014-09 [Member] Product Warranties Time Frame High Precision 3D and 2D Sensors [Member] Schedule Of Revenue By Geographic Area Warranty period Product Warranties Time Frame. High Precision 3D and 2D Sensors [Member]. High Precision 3D and 2D Sensors [Member] New Accounting Pronouncements or Change in Accounting Principle [Line Items] Restatement Adjustment [Member] Number of shares vested Accrued Income Taxes, Current Income taxes payable Contract liabilities Contract with Customer, Liability, Noncurrent Unrecognized Tax Benefits Net Classified as Current Liability Net UTB classsified as current liability Amount of net unrecognized tax benefits classsified as current liability. Unrecognized Tax Benefits, Net Net UTB balance at end of year Amount of net unrecognized tax benefits. Mrs Based Sensors [Member] MRS based sensors [Member] Represent the information pertaining to MRS based sensors. Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations Long-lived Assets by Geographic Areas [Table Text Block] Mrs Based Systems [Member] MRS based systems [Member] Represent the information partaining to MRS based systems. Stock Repurchase Program, Number of Shares Repurchased Stock Repurchase Program Number of Shares Repurchased The number of shares repurchased by an entity's Board of Directors under a stock repurchase plan. Marketable Securities, Unrealized Gain (Loss) Marketable securities classified as cash equivalents Unrealized gains or losses on marketable securities Proceeds from sales of marketable securities Represents the maximum period in which account receivable become due under normal trade terms. Maximum period in which accounts receivable become due Receivable from Lessor Receivable from lessor Amount of receivable from lessor. Right-of-use asset Operating Lease, Liability Operating Lease, Right-of-Use Asset Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward] Amortization period of incremental costs of obtaining a contract, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Represents period for the value of unsatisfied performance obligations which are not disclosed. Lease liability Accounting Standards Update 2016-02 [Member] ASU 2016-02 [Member] Period Between When Entity Transfer Promised Good or Service to Customer and When Customer Pays for That Good or Service Period between when entity transfer a promised good or service to a customer and when the customer pays for that good or service, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Asset Impairment Charges Asset impairment charges Period between when entity transfer a promised good or service to a customer and when the customer pays for that good or service Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to Global Intangible Low Tax Income. Tax Payments Related to Shares Withheld for Share Based Compensation Plans Shares Inspection and Metrology Systems [Member] Inspection and Metrology Systems [Member] Inspection and Metrology Systems [Member]. Effective Income Tax Rate Reconciliation Global Intangible Low Tax Income Global Intangible Low-Taxed Income (GILTI)/Foreign Derived Intangible Income (as a percent) Revenue from External Customers by Geographic Areas [Table Text Block] Current operating lease liabilities Difference between Revenue Guidance in Effect before and after Topic 606 [Member] Share-based compensation Income before income taxes Employee Service Share-based Compensation, Tax Benefit from Exercise of Stock Options Schedule of Unrealized Loss Position Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits ("UTB") Available-for-sale Equity Securities, Accumulated Gross Unrealized Loss, before Tax Net pre-tax unrealized losses Tax payments related to shares withheld for share-based compensation plans, shares Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number Trading Symbol Security Exchange Name Title of 12(g) Security Revision of Prior Period [Axis] Revision of Prior Period, Accounting Standards Update, Adjustment [Member] Revision of Prior Period, Change in Accounting Principle, Adjustment [Member] Reclassifications adjustments from other comprehensive income Accounts Receivable [Member] Accounts receivable, net Accounts Receivable [Member] Related Party Transaction, Purchases from Related Party Cumulative purchases Order or Production Backlog [Member] Backlog amount Proceeds from Sale and Maturity of Marketable Securities Sale of marketable securities Effective Income Tax Rate Reconciliation, Tax Credit, Foreign, Percent Foreign tax credit (as a percent) Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Amount Effective tax rate reconciliation, Excess tax expenses (benefits) from employee stock option exercises and vesting of restricted stock units and restricted shares, Amount Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Forfeitures and Expirations Number of stock options expired or were forfeited Number of restricted shares or restricted stock units expired or were forfeited Unrealized gains on available-for-sale securities Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, before Tax The amount of amortization of deferred revenue during the period. Amortization of deferred revenue Amortization of Deferred Revenue Advance customer payments Contract with Customer, Liability, Current Advance customer payments and other Increase (Decrease) in Contract with Customer, Liability Revision of Prior Period [Domain] Deferred tax assets Deferred Income Tax Assets, Net Singapore jobs support program Proceeds from issuance of common stock under employee stock purchase plan Effective Income Tax Rate Reconciliation Singapore Jobs Support Program Proceeds, Issuance of Shares, Share-based Payment Arrangement, Excluding Option Exercised Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to singapore jobs support program. ICFR Auditor Attestation Flag Lessee, Leases [Policy Text Block] Operating Leases Order backlog not yet recognized Order Backlog Yet to be Recognized as Revenue The amount of order backlog not yet recognized as revenue. Recognized foreign currency transactions gain (loss) EX-101.SCH 6 cybe-20201231.xsd SCHEMA 0001000 - Document - Document And Entity Information link:presentationLink link:definitionLink link:calculationLink 1001000 - Statement - Consolidated Balance Sheets link:presentationLink link:definitionLink link:calculationLink 1001501 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:definitionLink link:calculationLink 1002000 - Statement - Consolidated Statements Of Operations link:presentationLink link:definitionLink link:calculationLink 1003000 - Statement - Consolidated Statements Of Comprehensive Income link:presentationLink link:definitionLink link:calculationLink 1004000 - Statement - Consolidated Statements Of Cash Flows link:presentationLink link:definitionLink link:calculationLink 1005000 - Statement - Consolidated Statements Of Stockholders' Equity link:presentationLink link:definitionLink link:calculationLink 2101100 - Disclosure - Business Description And Significant Accounting Policies link:presentationLink link:definitionLink link:calculationLink 2102100 - Disclosure - Covid-19 pandemic link:presentationLink link:definitionLink link:calculationLink 2103100 - Disclosure - Revenue Recognition - Topic 606 link:presentationLink link:definitionLink link:calculationLink 2104100 - Disclosure - Marketable Securities link:presentationLink link:definitionLink link:calculationLink 2105100 - Disclosure - Derivatives link:presentationLink link:definitionLink link:calculationLink 2106100 - Disclosure - Comprehensive Income link:presentationLink link:definitionLink link:calculationLink 2107100 - Disclosure - Fair Value Measurements link:presentationLink link:definitionLink link:calculationLink 2108100 - Disclosure - Share-Based Compensation link:presentationLink link:definitionLink link:calculationLink 2109100 - Disclosure - Net Income Per Share link:presentationLink link:definitionLink link:calculationLink 2110100 - Disclosure - Other Financial Statement Data link:presentationLink link:definitionLink link:calculationLink 2111100 - Disclosure - Goodwill link:presentationLink link:definitionLink link:calculationLink 2112100 - Disclosure - Income Taxes link:presentationLink link:definitionLink link:calculationLink 2113100 - Disclosure - Operating Leases link:presentationLink link:definitionLink link:calculationLink 2114100 - Disclosure - 401(K) and Other Defined Contribution Plans link:presentationLink link:definitionLink link:calculationLink 2115100 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas link:presentationLink link:definitionLink link:calculationLink 2116100 - Disclosure - Share Repurchases link:presentationLink link:definitionLink link:calculationLink 2117100 - Disclosure - Contingencies link:presentationLink link:definitionLink link:calculationLink 2118100 - Disclosure - Quarterly Financial Information (Unaudited) link:presentationLink link:definitionLink link:calculationLink 2120100 - Disclosure - Schedule of valuation and qualifying link:presentationLink link:definitionLink link:calculationLink 2201201 - Disclosure - Business Description And Significant Accounting Policies (Policies) link:presentationLink link:definitionLink link:calculationLink 2303301 - Disclosure - Revenue Recognition - Topic 606 (Tables) link:presentationLink link:definitionLink link:calculationLink 2304301 - Disclosure - Marketable Securities (Tables) link:presentationLink link:definitionLink link:calculationLink 2305301 - Disclosure - Comprehensive Income (Tables) link:presentationLink link:definitionLink link:calculationLink 2306301 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:definitionLink link:calculationLink 2307301 - Disclosure - Share-Based Compensation (Tables) link:presentationLink link:definitionLink link:calculationLink 2308301 - Disclosure - Net Income Per Share (Tables) link:presentationLink link:definitionLink link:calculationLink 2309301 - Disclosure - Other Financial Statement Data (Tables) link:presentationLink link:definitionLink link:calculationLink 2310301 - Disclosure - Income Taxes (Tables) link:presentationLink link:definitionLink link:calculationLink 2311301 - Disclosure - Operating Leases (Tables) link:presentationLink link:definitionLink link:calculationLink 2313301 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Tables) link:presentationLink link:definitionLink link:calculationLink 2316301 - Disclosure - Quarterly Financial Information (Unaudited) (Tables) link:presentationLink link:definitionLink link:calculationLink 2318301 - Disclosure - Derivatives (Tables) link:presentationLink link:definitionLink link:calculationLink 2401402 - Disclosure - Business Description And Significant Accounting Policies (Details) link:presentationLink link:definitionLink link:calculationLink 2401403 - Disclosure - Business Description And Significant Accounting Policies (Details 2) link:presentationLink link:definitionLink link:calculationLink 2402401 - Disclosure - Covid-19 Pandemic (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2403402 - Disclosure - Revenue Recognition - Topic 606 (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2403403 - Disclosure - Revenue Recognition - Topic 606 (Summary Of Revenue Performance Obligations) (Details) link:presentationLink link:definitionLink link:calculationLink 2403404 - Disclosure - Revenue Recognition - Topic 606 (Summary Of Contract Assets And Contract Liabilities) (Details) link:presentationLink link:definitionLink link:calculationLink 2403405 - Disclosure - Revenue Recognition - (Summary of the amounts reclassified from beginning contract liabilities to revenue) (Details) link:presentationLink link:definitionLink link:calculationLink 2404402 - Disclosure - Marketable Securities (Schedule Of Marketable Securities) (Details) link:presentationLink link:definitionLink link:calculationLink 2404403 - Disclosure - Marketable Securities (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2404404 - Disclosure - Marketable Securities (Schedule Of Unrealized Loss Position) (Details) link:presentationLink link:definitionLink link:calculationLink 2404405 - Disclosure - Marketable Securities (Schedule Of Marketable Securities Classified As Cash Equivalents) (Details) link:presentationLink link:definitionLink link:calculationLink 2405401 - Disclosure - Comprehensive Income (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2405402 - Disclosure - Comprehensive Income (The Effect of the Reclassifications from Comprehensive Income (Loss) to Earnings) (Details) link:presentationLink link:definitionLink link:calculationLink 2405403 - Disclosure - Comprehensive Income (The Effect of the Reclassifications from Comprehensive Income (Loss) to Earnings) (Details) (Calc 2) link:presentationLink link:definitionLink link:calculationLink 2405404 - Disclosure - Comprehensive Income (Schedule of Accumulated Comprehensive Income (Loss)) (Details) link:presentationLink link:definitionLink link:calculationLink 2406402 - Disclosure - Fair Value Measurements (Fair Value Measurements For Marketable Securities And Foreign Exchange Forward Contracts) (Details) link:presentationLink link:definitionLink link:calculationLink 2406403 - Disclosure - Fair Value Measurements (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2407402 - Disclosure - Share-Based Compensation (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2407403 - Disclosure - Share-Based Compensation (Schedule Of Stock Option Activity) (Details) link:presentationLink link:definitionLink link:calculationLink 2407404 - Disclosure - Share-Based Compensation (Schedule Of Stock Option Valuation Assumptions) (Details) link:presentationLink link:definitionLink link:calculationLink 2407405 - Disclosure - Share-Based Compensation (Schedule Of Non-Vested Restricted Stock Activity) (Details) link:presentationLink link:definitionLink link:calculationLink 2407406 - Disclosure - Share-Based Compensation (Summary Of Pre-tax Equity Based Compensation Expense) (Details) link:presentationLink link:definitionLink link:calculationLink 2408402 - Disclosure - Net Income Per Share (Schedule Of Net Income Per Basic And Diluted Shares) (Details) link:presentationLink link:definitionLink link:calculationLink 2408403 - Disclosure - Net Income Per Share (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2409402 - Disclosure - Other Financial Statement Data (Schedule Of Inventory Components) (Details) link:presentationLink link:definitionLink link:calculationLink 2409403 - Disclosure - Other Financial Statement Data (Schedule Of Equipment And Leasehold Improvements) (Details) link:presentationLink link:definitionLink link:calculationLink 2409404 - Disclosure - Other Financial Statement Data (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2409405 - Disclosure - Other Financial Statement Data (Schedule Of Intangible Assets) (Details) link:presentationLink link:definitionLink link:calculationLink 2409406 - Disclosure - Other Financial Statement Data (Schedule Of Amortization Expense For Intangible Assets) (Details) link:presentationLink link:definitionLink link:calculationLink 2409407 - Disclosure - Other Financial Statement Data (Schedule of Accrued Expenses) (Details) link:presentationLink link:definitionLink link:calculationLink 2409408 - Disclosure - Other Financial Statement Data (Schedule of Other Liabilities) (Details) link:presentationLink link:definitionLink link:calculationLink 2409409 - Disclosure - Other Financial Statement Data (Schedule Of Changes In Estimated Warranty Liability) (Details) link:presentationLink link:definitionLink link:calculationLink 2409410 - Disclosure - Other Financial Statement Data (Schedule Of Changes In Deferred Warranty Revenue) (Details) link:presentationLink link:definitionLink link:calculationLink 2410401 - Disclosure - Goodwill (Details) link:presentationLink link:definitionLink link:calculationLink 2410402 - Disclosure - Income Taxes (Schedule Of Income Before Income Taxes) (Details) link:presentationLink link:definitionLink link:calculationLink 2410403 - Disclosure - Income Taxes (Schedule Of Provision (Benefit) For Income Taxes) (Details) link:presentationLink link:definitionLink link:calculationLink 2410404 - Disclosure - Income Taxes (Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate) (Details) link:presentationLink link:definitionLink link:calculationLink 2410405 - Disclosure - Income Taxes (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2410406 - Disclosure - Income Taxes (Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits ("UTB")) (Details) link:presentationLink link:definitionLink link:calculationLink 2410407 - Disclosure - Income Taxes (Schedule Of Deferred Tax Assets And Liabilities) (Details) link:presentationLink link:definitionLink link:calculationLink 2411400 - Disclosure - Operating Leases (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2411401 - Disclosure - Operating Leases (Schedule of components of our costs for operating leases) (Details) link:presentationLink link:definitionLink link:calculationLink 2411402 - Disclosure - Operating Leases (Schedule of the future maturities of lease liabilities) (Details) link:presentationLink link:definitionLink link:calculationLink 2411408 - Disclosure - Operating Leases (Schedule Of Future Minimum Lease Payments Required Under Non-cancelable Operating Lease Agreements) (Details) link:presentationLink link:definitionLink link:calculationLink 2412401 - Disclosure - 401(K) and Other Defined Contribution Plans (Details) link:presentationLink link:definitionLink link:calculationLink 2413402 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Summary Of Revenue By Product Line) (Details) link:presentationLink link:definitionLink link:calculationLink 2413403 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Summary Of Certain Significant Customer Information) (Details) link:presentationLink link:definitionLink link:calculationLink 2413404 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2413405 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Revenue By Geographic Area) (Details) link:presentationLink link:definitionLink link:calculationLink 2413406 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations) (Details) link:presentationLink link:definitionLink link:calculationLink 2414401 - Disclosure - Share Repurchases (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2416402 - Disclosure - Quarterly Financial Information (Unaudited) (Details) link:presentationLink link:definitionLink link:calculationLink 2418401 - Disclosure - Schedule of valuation and qualifying (Details) link:presentationLink link:definitionLink link:calculationLink 2419402 - Disclosure - Derivatives (Narrative) (Details) link:presentationLink link:definitionLink link:calculationLink 2419403 - Disclosure - Derivatives (Schedule Of Cash Flow Hedges) (Details) link:presentationLink link:definitionLink link:calculationLink 8001 - Disclosure - Adoption Of ASU No. 2016-09, Improvements To Employee Share Based Payment Accounting (Details) link:presentationLink link:definitionLink link:calculationLink EX-4.5 7 ex45_1.htm EXHIBIT 4.5


Exhibit 4.5

CyberOptics Corporation
Description of Securities

Authorized Capitalization

 

            Our authorized capital stock consists of 25,000,000 shares of common stock, no par value, and 5,000,000 shares of preferred stock, no par value.  The common stock is registered pursuant to Section 12 of the Securities and Exchange Act of 1934, as amended.

 

Common Stock

 

            Fully Paid.  All outstanding shares of our common stock are fully paid and nonassessable.  Fully paid and nonassessable means the full purchase price for the outstanding shares of common stock has been paid and the holders of such shares will not be assessed any additional amounts for such shares.  Any additional capital stock that we may issue in the future will also be fully paid and nonassessable.

 

            Dividends.  Holders of common stock may receive dividends when declared by our board of directors out of funds that we can legally use to pay dividends.  We may pay dividends in cash, stock or other property.  Holders of common stock may not receive dividends until we have satisfied our obligations to the holders of outstanding preferred stock, if any.

 

            Voting Rights.  Holders of common stock have the exclusive power to vote on all matters presented to our shareholders, unless Minnesota law or the certificate of designation for an outstanding series of preferred stock gives the holders of that series of preferred stock the right to vote on certain matters.  Each holder of common stock is entitled to one vote per share.

 

            Each director is elected by plurality of the votes cast.  Holders of common stock may not cumulate their votes when voting for directors, which means that a holder cannot cast more than one vote per share for each director.  Except for the election of directors, or in circumstances in which Minnesota law requires a larger percentage vote, the shareholders shall take action by the affirmative vote of the holders of the greater of (1) a majority of the voting power of the shares present and entitled to vote on that item of business, or (2) a majority of the voting power of the minimum number of the shares entitled to vote that would constitute a quorum for the transaction of business at the meeting.

 

            Other Rights.  If we voluntarily or involuntarily liquidate, dissolve or wind up our business, holders of common stock will receive pro rata, according to the number of shares held by them, any remaining assets we are able to be distributed to our shareholders after we have provided for the liquidation preference of outstanding shares of preferred stock, if any.  When we issue securities in the future, holders of common stock have no preemptive rights to buy any portion of such issues of securities.  The common stock has no sinking fund or redemption provisions or conversion or exchange rights.

 

            Listing.  Our outstanding shares of common stock are listed on the NASDAQ Stock Market under the symbol “CYBE.”

 

Antitakeover Provisions Contained in our Articles of Incorporation and our Bylaws

 

            Certain provisions of our Articles of Incorporation and our Bylaws may make it less likely that our management would be changed or someone would acquire voting control of our company, without the consent of our board of directors.  These provisions may delay, deter or prevent tender offers or takeover attempts that shareholders may believe are in their best interests, including tender offers or takeover attempts that might allow shareholders to receive premiums over the market price of our common stock.

 

            Preferred Stock.  Our board of directors may at any time, under our Articles of Incorporation and without shareholder approval, issue one or more series of preferred stock.  In some cases, the issuance of preferred stock without shareholder approval could discourage or make more difficult attempts to take control of our company through a merger, tender offer or proxy contest.  Preferred stock with special voting rights or other features issued to persons favoring our management could prevent a takeover by stopping the person trying to take control of our company from acquiring enough voting shares necessary to take control.

 

            Nomination Procedures.  In addition to our board of directors, shareholders can nominate candidates for our board of directors.  However, a shareholder must follow the advance-notice procedures described in our Bylaws and summarized below under the caption “Advance Notice Requirements for Director Nominations and Shareholder Proposals.”

 




            Shareholder-Proposal Procedures.  Shareholders can propose that business other than nominations to our board of directors be considered at an annual meeting of shareholders only if a shareholder follows the advance-notice procedures set forth in our Bylaws, which procedures are described below under the caption “Advance Notice Requirements for Director Nominations and Shareholder Proposals.”

 

Unauthorized but Unissued Common Stock

 

            Minnesota law does not require shareholder approval for any issuance of authorized shares of common stock.  However, the listing requirements of the NASDAQ Stock Market, which would apply so long as the common stock remains listed on the NASDAQ Stock Market, require shareholder approval of certain issuances equal to or exceeding 20% of the then outstanding voting power or then outstanding number of shares of common stock.  This requirement is subject to several exceptions.

 

            One of the effects of the existence of unissued and unreserved common stock may be to enable our board of directors to issue shares to persons friendly to current management, which issuance could render more difficult or discourage an attempt to obtain control of our company by means of a merger, tender offer or proxy contest.  As a result, such unissued and unreserved common stock may protect the continuity of our management and possibly deprive our shareholders of opportunities to sell their shares of common stock at prices higher than prevailing market prices.

 

Advance Notice Requirements for Director Nominations and Shareholder Proposals

 

            Our Bylaws provide that shareholders seeking to nominate candidates for election as directors or to bring other business before an annual meeting of shareholders must provide timely notice of their nominations and proposals in writing to the Secretary of our company.

 

            Generally, to be timely, a shareholder’s notice must be received at our principal executive offices at least 120 days prior to the first anniversary of the previous year’s annual meeting.  Our bylaws also specify requirements as to the form and content of a shareholder’s notice.

 

            These provisions may impede shareholders’ ability to bring matters of business before an annual meeting of shareholders or make nominations for directors at an annual meeting of shareholders and may delay, deter or prevent tender offers or takeover attempts that shareholders may believe are in their best interests, including tender offers or takeover attempts that might allow shareholders to receive premiums over the market price of their common stock.

 

Amendment of our Articles of Incorporation and our Bylaws

 

            Our shareholders have the power to amend our Articles of Incorporation, subject to the requirements of the Minnesota Business Corporation Act.  Our board of directors may alter or amend, make or adopt, or repeal our Bylaws, subject to the limitations set forth in our Bylaws and the Minnesota Business Corporation Act.  Our shareholders also have the power to alter or amend our Bylaws.




EX-21 8 ex21_2.htm EXHIBIT 21
Exhibit 21
SUBSIDIARIES
Name
 
Jurisdiction of Formation
 
 
 
CyberOptics Ltd.
 
United Kingdom
 
 
 
CyberOptics Holdings Ltd.
 
United Kingdom
 
 
 
CyberOptics (Singapore) Pte. Ltd
 
Singapore
 
 
 
CyberOptics (China) Co., Ltd.
 
People’s Republic of China
 
 
 
CyberOptics Taiwan Branch

Taiwan







EX-23.1 9 ex231_3.htm EXHIBIT 23.1
Exhibit 23.1

Consent of Independent Registered Public Accounting Firm

 

CyberOptics Corporation

Minneapolis, Minnesota

We hereby consent to the incorporation by reference in the Registration Statements on Forms S-8 (File No. 333-230209, File No. 333-211553, File No. 333-183296, File No. 333-176196, and File No. 333-103310) of CyberOptics Corporation of our report dated March 12, 2021, relating to the consolidated financial statements of CyberOptics Corporation which appears in this Form 10-K.


/s/BDO USA, LLP


Minneapolis, Minnesota

March 12, 2021





EX-31.1 10 ex311_4.htm EXHIBIT 31.1
Exhibit 31.1
I, Subodh Kulkarni, certify that:

1.
I have reviewed this Annual Report on Form 10-K of CyberOptics Corporation.
   
2.
Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
    
3.
Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4.
The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
   
(a)
Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
   
(b)
Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
   
(c)
Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
 
(d)
Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
 
5.
The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
 
(a)
All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
 
(b)
Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: March 12, 2021
 
/s/ Subodh Kulkarni
 
Signature
 
Name: Subodh Kulkarni
 
Title:   President and CEO

EX-31.2 11 ex312_5.htm EXHIBIT 31.2
Exhibit 31.2
I, Jeffrey A. Bertelsen, certify that:

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

EX-32 12 ex32_6.htm EXHIBIT 32
Exhibit 32
CERTIFICATION PURSUANT TO
18 U.S.C. §1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Annual Report of CyberOptics Corporation (the “Company”) on Form 10-K for the year ended December 31, 2020 as filed with the Securities and Exchange Commission on or about the date hereof (the “Report”), the undersigned, Subodh Kulkarni, Chief Executive Officer, and Jeffrey A. Bertelsen, Chief Financial Officer of the Company, each certify, pursuant to 18 U.S.C. §1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
   
1.
The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
   
2.
The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
/s/ Subodh Kulkarni
 
Subodh Kulkarni
 
President and CEO
 
March 12, 2021
 
 
 
/s/ Jeffrey A. Bertelsen
 
Jeffrey A. Bertelsen
 
Vice President, CFO and COO
 
March 12, 2021
END OF FILING



XML 13 cybe-20201231_htm.xml IDEA: XBRL DOCUMENT 0000768411 2019-07-31 0000768411 2019-10-01 2019-12-31 0000768411 us-gaap:RetainedEarningsMember 2018-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0000768411 2019-07-01 2019-09-30 0000768411 us-gaap:CommonStockMember 2018-12-31 0000768411 2019-04-01 2019-06-30 0000768411 2019-01-01 2019-03-31 0000768411 2019-01-01 2019-12-31 0000768411 2019-12-31 0000768411 srt:MinimumMember us-gaap:AccountingStandardsUpdate201409Member us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member 2020-12-31 0000768411 srt:MaximumMember us-gaap:AccountingStandardsUpdate201409Member us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member 2020-12-31 0000768411 srt:MinimumMember us-gaap:LeaseholdImprovementsMember 2020-01-01 2020-12-31 0000768411 srt:MaximumMember us-gaap:LeaseholdImprovementsMember 2020-01-01 2020-12-31 0000768411 cybe:GoldenValleyMember stpr:MN 2020-12-31 0000768411 srt:MinimumMember 2020-01-01 2020-12-31 0000768411 srt:MaximumMember 2020-01-01 2020-12-31 0000768411 us-gaap:CommonStockMember 2020-01-01 2020-12-31 0000768411 us-gaap:RetainedEarningsMember 2020-01-01 2020-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-12-31 0000768411 us-gaap:CommonStockMember 2020-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0000768411 us-gaap:RetainedEarningsMember 2020-12-31 0000768411 cybe:GoldenValleyMember stpr:MN 2020-01-01 2020-12-31 0000768411 cybe:SemiconductorSensorsMember 2020-01-01 2020-12-31 0000768411 country:US 2020-01-01 2020-12-31 0000768411 country:NL 2020-01-01 2020-12-31 0000768411 cybe:OtherEuropeMember 2020-01-01 2020-12-31 0000768411 country:CN 2020-01-01 2020-12-31 0000768411 country:SG 2020-01-01 2020-12-31 0000768411 country:KR 2020-01-01 2020-12-31 0000768411 country:JP 2020-01-01 2020-12-31 0000768411 cybe:OtherAsiaMember 2020-01-01 2020-12-31 0000768411 cybe:OtherGeographicLocationMember 2020-01-01 2020-12-31 0000768411 country:US 2020-12-31 0000768411 cybe:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0000768411 srt:EuropeMember 2020-12-31 0000768411 cybe:AsiaAndOtherMember 2020-12-31 0000768411 cybe:RetirementSavingsPlanSection401KMember 2020-01-01 2020-12-31 0000768411 cybe:DefinedContributionRetirementSavingsPlansMember 2020-01-01 2020-12-31 0000768411 country:SG 2020-12-31 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2020-01-01 2020-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2020-01-01 2020-12-31 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2020-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel1Member 2020-12-31 0000768411 us-gaap:FairValueInputsLevel2Member 2020-12-31 0000768411 us-gaap:FairValueInputsLevel3Member 2020-12-31 0000768411 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-12-31 0000768411 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-12-31 0000768411 cybe:NonEmployeeDirectorStockPlanMember 2020-12-31 0000768411 us-gaap:EmployeeStockOptionMember cybe:StockIncentivePlanMember 2020-12-31 0000768411 srt:MinimumMember us-gaap:EmployeeStockMember 2020-01-01 2020-12-31 0000768411 cybe:NonEmployeeDirectorStockPlanMember 2020-01-01 2020-12-31 0000768411 us-gaap:EmployeeStockOptionMember 2020-12-31 0000768411 cybe:RestrictedSharesAndRestrictedStockUnitsMember 2020-01-01 2020-12-31 0000768411 cybe:RestrictedSharesAndRestrictedStockUnitsMember 2020-12-31 0000768411 us-gaap:EmployeeStockMember 2020-01-01 2020-12-31 0000768411 us-gaap:EmployeeStockMember 2020-12-31 0000768411 cybe:StockGrantPlanForNonEmployeeDirectorsMember 2020-01-01 2020-12-31 0000768411 cybe:StockOptionsAndRestrictedStockUnitsRsusMember 2020-01-01 2020-12-31 0000768411 us-gaap:EquipmentMember 2020-12-31 0000768411 us-gaap:LeaseholdImprovementsMember 2020-12-31 0000768411 us-gaap:PatentsMember 2020-12-31 0000768411 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-12-31 0000768411 us-gaap:CustomerRelatedIntangibleAssetsMember 2020-12-31 0000768411 us-gaap:PatentsMember 2020-01-01 2020-12-31 0000768411 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-01-01 2020-12-31 0000768411 us-gaap:CustomerRelatedIntangibleAssetsMember 2020-01-01 2020-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember 2020-12-31 0000768411 us-gaap:EquitySecuritiesMember 2020-12-31 0000768411 srt:MaximumMember us-gaap:EmployeeStockMember 2020-01-01 2020-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:ShortTermInvestmentsMember 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:ShortTermInvestmentsMember 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:ShortTermInvestmentsMember 2020-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel1Member us-gaap:USTreasuryAndGovernmentMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel1Member cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel1Member us-gaap:AssetBackedSecuritiesMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel1Member us-gaap:EquitySecuritiesMember 2020-12-31 0000768411 cybe:CustomerOneMember cybe:ExportRevenuesMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-12-31 0000768411 us-gaap:FairValueInputsLevel2Member us-gaap:USTreasuryAndGovernmentMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel2Member cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel2Member us-gaap:AssetBackedSecuritiesMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel2Member us-gaap:EquitySecuritiesMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel3Member us-gaap:USTreasuryAndGovernmentMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel3Member cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel3Member us-gaap:AssetBackedSecuritiesMember 2020-12-31 0000768411 us-gaap:FairValueInputsLevel3Member us-gaap:EquitySecuritiesMember 2020-12-31 0000768411 2020-12-31 0000768411 2020-01-01 2020-12-31 0000768411 us-gaap:ShortTermInvestmentsMember 2020-12-31 0000768411 us-gaap:OtherLongTermInvestmentsMember 2020-12-31 0000768411 us-gaap:TransferredOverTimeMember 2020-01-01 2020-12-31 0000768411 us-gaap:TransferredAtPointInTimeMember 2020-01-01 2020-12-31 0000768411 cybe:MrsBasedSensorsMember 2020-01-01 2020-12-31 0000768411 cybe:CustomerTwoMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0000768411 cybe:MrsBasedSystemsMember 2020-01-01 2020-12-31 0000768411 us-gaap:AccountingStandardsUpdate201409Member us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member 2020-01-01 2020-12-31 0000768411 cybe:InspectionAndMetrologySystemsMember 2020-01-01 2020-12-31 0000768411 cybe:HighPrecision3DAnd2DSensorsMember 2020-01-01 2020-12-31 0000768411 us-gaap:CommonStockMember 2019-01-01 2019-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-12-31 0000768411 us-gaap:RetainedEarningsMember 2019-01-01 2019-12-31 0000768411 us-gaap:CommonStockMember 2019-12-31 0000768411 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0000768411 us-gaap:RetainedEarningsMember 2019-12-31 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2019-01-01 2019-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2019-01-01 2019-12-31 0000768411 us-gaap:FairValueInputsLevel1Member us-gaap:USTreasuryAndGovernmentMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel2Member us-gaap:USTreasuryAndGovernmentMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel3Member us-gaap:USTreasuryAndGovernmentMember 2019-12-31 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel1Member cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel2Member cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel3Member cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2019-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel1Member us-gaap:AssetBackedSecuritiesMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel2Member us-gaap:AssetBackedSecuritiesMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel3Member us-gaap:AssetBackedSecuritiesMember 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember 2019-12-31 0000768411 us-gaap:EquitySecuritiesMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel1Member 2019-12-31 0000768411 us-gaap:FairValueInputsLevel2Member 2019-12-31 0000768411 us-gaap:FairValueInputsLevel3Member 2019-12-31 0000768411 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-12-31 0000768411 cybe:RestrictedSharesAndRestrictedStockUnitsMember 2019-01-01 2019-12-31 0000768411 us-gaap:EmployeeStockMember 2019-01-01 2019-12-31 0000768411 cybe:StockOptionsAndRestrictedStockUnitsRsusMember 2019-01-01 2019-12-31 0000768411 cybe:StockGrantPlanForNonEmployeeDirectorsMember 2019-01-01 2019-12-31 0000768411 srt:MinimumMember 2019-01-01 2019-12-31 0000768411 srt:MaximumMember 2019-01-01 2019-12-31 0000768411 us-gaap:EquipmentMember 2019-12-31 0000768411 us-gaap:LeaseholdImprovementsMember 2019-12-31 0000768411 us-gaap:PatentsMember 2019-12-31 0000768411 us-gaap:ComputerSoftwareIntangibleAssetMember 2019-12-31 0000768411 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-12-31 0000768411 us-gaap:PatentsMember 2019-01-01 2019-12-31 0000768411 us-gaap:ComputerSoftwareIntangibleAssetMember 2019-01-01 2019-12-31 0000768411 us-gaap:CustomerRelatedIntangibleAssetsMember 2019-01-01 2019-12-31 0000768411 cybe:RetirementSavingsPlanSection401KMember 2019-01-01 2019-12-31 0000768411 cybe:DefinedContributionRetirementSavingsPlansMember 2019-01-01 2019-12-31 0000768411 cybe:HighPrecision3DAnd2DSensorsMember 2019-01-01 2019-12-31 0000768411 us-gaap:FairValueInputsLevel1Member us-gaap:EquitySecuritiesMember 2019-12-31 0000768411 cybe:SemiconductorSensorsMember 2019-01-01 2019-12-31 0000768411 cybe:InspectionAndMetrologySystemsMember 2019-01-01 2019-12-31 0000768411 cybe:MrsBasedSensorsMember 2019-01-01 2019-12-31 0000768411 cybe:MrsBasedSystemsMember 2019-01-01 2019-12-31 0000768411 country:US 2019-01-01 2019-12-31 0000768411 country:NL 2019-01-01 2019-12-31 0000768411 cybe:OtherEuropeMember 2019-01-01 2019-12-31 0000768411 country:CN 2019-01-01 2019-12-31 0000768411 country:SG 2019-01-01 2019-12-31 0000768411 country:KR 2019-01-01 2019-12-31 0000768411 country:JP 2019-01-01 2019-12-31 0000768411 cybe:OtherAsiaMember 2019-01-01 2019-12-31 0000768411 cybe:OtherGeographicLocationMember 2019-01-01 2019-12-31 0000768411 us-gaap:FairValueInputsLevel2Member us-gaap:EquitySecuritiesMember 2019-12-31 0000768411 country:US 2019-12-31 0000768411 srt:EuropeMember 2019-12-31 0000768411 cybe:AsiaAndOtherMember 2019-12-31 0000768411 us-gaap:FairValueInputsLevel3Member us-gaap:EquitySecuritiesMember 2019-12-31 0000768411 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-12-31 0000768411 cybe:ExportRevenuesMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0000768411 cybe:ExportRevenuesMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:ShortTermInvestmentsMember 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:ShortTermInvestmentsMember 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:ShortTermInvestmentsMember 2019-12-31 0000768411 us-gaap:USTreasuryAndGovernmentMember us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 us-gaap:TransferredOverTimeMember 2019-01-01 2019-12-31 0000768411 us-gaap:TransferredAtPointInTimeMember 2019-01-01 2019-12-31 0000768411 cybe:CorporateDebtSecuritiesAndCertificatesOfDepositMember us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 cybe:CustomerTwoMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-12-31 0000768411 us-gaap:AssetBackedSecuritiesMember us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 us-gaap:EquitySecuritiesMember us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 2018-12-31 0000768411 us-gaap:ShortTermInvestmentsMember 2019-12-31 0000768411 us-gaap:OtherLongTermInvestmentsMember 2019-12-31 0000768411 cybe:NonEmployeeDirectorStockPlanMember 2019-05-16 2019-05-16 0000768411 2020-01-01 2020-03-31 0000768411 2020-04-01 2020-06-30 0000768411 2020-07-01 2020-09-30 0000768411 2020-10-01 2020-12-31 0000768411 2020-06-30 0000768411 us-gaap:AccumulatedTranslationAdjustmentMember 2018-12-31 0000768411 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2018-12-31 0000768411 2021-02-28 0000768411 cybe:GoldenValleyMember 2020-12-31 0000768411 srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember us-gaap:AccountingStandardsUpdate201602Member us-gaap:CommonStockMember 2018-12-31 0000768411 srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember us-gaap:AccountingStandardsUpdate201602Member us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0000768411 srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember us-gaap:AccountingStandardsUpdate201602Member us-gaap:RetainedEarningsMember 2018-12-31 0000768411 srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember us-gaap:AccountingStandardsUpdate201602Member 2018-12-31 0000768411 srt:MinimumMember 2020-12-31 0000768411 srt:MaximumMember 2020-12-31 0000768411 cybe:JobsSupportProgramMember country:SG us-gaap:ReducedEmployeeExpensesMember 2020-01-01 2020-12-31 0000768411 cybe:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-12-31 0000768411 cybe:CustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-12-31 0000768411 srt:AffiliatedEntityMember 2020-01-01 2020-12-31 0000768411 srt:AffiliatedEntityMember 2019-01-01 2019-12-31 0000768411 cybe:NonEmployeeDirectorStockPlanMember 2020-05-14 2020-05-14 0000768411 cybe:CustomerThreeMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-12-31 0000768411 us-gaap:AccountingStandardsUpdate201602Member 2019-12-31 shares pure utr:sqft utr:Q iso4217:USD iso4217:USD shares cybe:plan cybe:reporting_unit cybe:renewal_option cybe:customer NASDAQ MN MN false true false P1Y P1Y true false --12-31 Non-accelerated Filer 0000768411 CYBEROPTICS CORP false 2020 FY Yes 0 P1Y P1Y P1Y false 10-K 2020-12-31 0-16577 41-1472057 5900 Golden Hills Drive MINNEAPOLIS 55416 (763) 542-5000 Common Stock, no par value CYBE No No Yes 225286757 7297867 8399000 5836000 8121000 8295000 302000 322000 14735000 16059000 20271000 15580000 686000 559000 890000 1020000 53102000 47349000 14052000 12168000 3235000 3341000 325000 310000 1366000 1366000 2621000 2111000 418000 962000 4597000 4992000 79716000 72599000 5118000 7023000 823000 499000 3893000 2572000 819000 688000 10653000 10782000 134000 202000 3244000 3141000 157000 150000 14188000 14275000 5000000 5000000 0 0 0 0 25000000 25000000 7294617 7294617 7154591 7154591 37817000 36659000 -1102000 -1406000 28813000 23071000 65528000 58324000 79716000 72599000 70117000 59263000 38900000 32961000 31217000 26302000 9572000 9362000 15648000 16004000 5997000 936000 357000 224000 6354000 1160000 612000 386000 5742000 774000 0.80 0.11 0.77 0.11 7215000 7113000 7454000 7262000 5742000 774000 190000 174000 145000 138000 335000 312000 31000 28000 304000 284000 6046000 1058000 5742000 774000 2629000 2832000 521000 828000 -20000 8000 366000 393000 97000 -127000 1181000 991000 18000 12000 0 26000 -1888000 1170000 5212000 439000 -49000 -539000 -1903000 -1529000 247000 -49000 1321000 -856000 -772000 -308000 5958000 2127000 11576000 7835000 13186000 12033000 0 84000 1527000 1301000 212000 150000 -3349000 -5565000 358000 248000 605000 67000 0 353000 224000 203000 -23000 31000 -23000 -5000 2563000 -3412000 5836000 9248000 8399000 5836000 7101000 35637000 -1690000 22264000 56211000 0 0 33000 33000 58000 248000 0 248000 -4000 -67000 -67000 8000 0 0 991000 991000 18000 203000 203000 26000 353000 353000 284000 284000 774000 774000 7155000 36659000 -1406000 23071000 58324000 135000 358000 0 358000 -23000 -605000 -605000 8000 0 0 1181000 1181000 20000 224000 224000 304000 304000 5742000 5742000 7295000 37817000 -1102000 28813000 65528000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; font-weight: bold;">NOTE <span style="border-left: none; border-right: none;">1</span></span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">–</span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">BUSINESS DESCRIPTION AND SIGNIFICANT ACCOUNTING POLICIES<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Description of Business<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">We are a leading global developer and manufacturer of high precision 3D sensors and systems for inspection and metrology. We also develop and manufacture our WaferSense</span><span style="border: 0px; box-sizing: border-box; font-family: 'times new roman', times; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; color: #000000; font-size: 13.3333px; text-align: start; float: none; display: inline !important;">® products,</span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;"> a family of wireless, wafer-shaped sensors </span><span style="border: 0px; box-sizing: border-box; font-family: 'times new roman', times; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; color: #000000; font-size: 13.3333px; text-align: start; float: none; display: inline !important;">that provide measurements of critical factors in the semiconductor fabrication process.</span></span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">Our sensors and system products are used in surface mount technology (SMT) and semiconductor markets to significantly improve yields and productivity.<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Principles of Consolidation<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">The consolidated financial statements include the accounts of CyberOptics Corporation and its wholly-owned subsidiaries. In these notes to the consolidated financial statements, these companies are collectively referred to as</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“CyberOptics,”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“we,”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“us,”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">or</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“our.”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">All significant inter-company accounts and transactions have been eliminated in consolidation.</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Segment Reporting<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">We operate in a single reportable segment that includes the design, development and manufacture of high precision sensing, inspection and metrology solutions for the SMT and semiconductor markets.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Use of Estimates<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The preparation of consolidated financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates.</span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Cash and Cash Equivalents<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We consider all highly liquid investments purchased with an original maturity of</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">90 days or less to be cash equivalents. Cash and cash equivalents consist of funds maintained in demand deposit accounts, money market accounts, certificate of deposits, corporate debt instruments and U.S. government backed obligations. Cash and cash equivalent balances, at times, may exceed federally insured limits. </span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <div style="border-left: none; border-right: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Marketable Securities</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">A<span>ll marketable securities are classified as available-for-sale and consist of U.S. government and agency backed obligations, certificates of deposit, corporate debt instruments, asset backed securities or equity securities. Marketable securities are classified as short-term or long-term in the consolidated balance sheets based on their maturity date and expectations regarding sales.</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Available-for-sale securities are carried at fair value. Unrealized gains and losses for marketable debt securities are reported as a separate component of stockholders’</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">equity until realized. Unrealized gains and losses for marketable equity securities are recognized in net income. Fair values are primarily determined using quoted market prices or valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The carrying amounts of securities, for purposes of computing unrealized gains and losses, are determined by specific identification. The cost of securities sold is also determined by specific identification.<br/><br/></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">We monitor the carrying value of our marketable debt securities compared to their fair value to determine whether an other-than-temporary impairment has occurred. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. If a decline in fair value of our marketable debt securities is determined to be other-than-temporary, an impairment charge related to that specific investment is recorded in net income.<br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Cash and marketable securities held by foreign subsidiaries totaled</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$672,000 at</span><span style="font-size: 10pt;"> </span>December 31, 2020<span style="font-size: 10pt;"> and</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$<span style="border-left: none; border-right: none;">327,000</span> at</span><span style="font-size: 10pt;"> </span>December 31, 2019<span style="font-size: 10pt;">.</span></span></span></p> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><strong><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Inventories</span></span></strong></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;">Inventories are stated at the lower of cost or net realizable value, with cost determined using the first-in, first-out (FIFO) method. Appropriate consideration is given to deterioration, obsolescence, and other factors in evaluating net realizable value.  </p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Accounts and Trade Notes Receivable</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">We extend unsecured credit to our customers in the normal course of business. We periodically provide financing to customers for the purchase of <span style="border: 0px; box-sizing: border-box; color: #333333; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">SQ3000 Multi-Function system products. Trade notes receivable bear interest at annual effective rates ranging from approximately 5% to 7%, and are repayable over periods ranging from 18 to 36 months. The current portion of the trade notes are classified as accounts receivable in the accompanying balance sheets. </span></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #333333; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><br/></span></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #333333; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Interest income will be discontinued for any trade notes receivable with a specific reserve established if it is likely that we will be unable to collect all amounts due according to the original terms of the trade notes. For these trade notes receivable, cash collection will first be applied as a reduction to principal outstanding. Any cash received in excess of the outstanding principal payments will be recognized as interest income. Trade notes receivable may be removed from non-accrual status with respect to interest income based upon changes in customer circumstances, including a sustained history of payments. At December 31, 2020, none of our trade notes receivable were in a non-accrual status with respect to interest income.</span></span></span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Allowance for Doubtful Accounts and Trade Notes <br/></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <span style="font-family: 'times new roman', times; font-size: 10pt;">Allowances for doubtful accounts are maintained for estimated losses resulting from the inability of our customers to make required payments. In making the determination of the appropriate allowance for doubtful accounts, we consider specific accounts, historical write-offs, changes in customer relationships and credit worthiness and concentrations of credit risk. Specific accounts and trade notes receivable are written-off once a determination is made that the account is uncollectible.</span> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Equipment and Leasehold Improvements<br/></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Equipment and leasehold improvements are stated at cost. Significant additions or improvements extending asset lives are capitalized, while repairs and maintenance are charged to expense as incurred. In-progress costs are capitalized with depreciation beginning when assets are placed in service. Depreciation is recorded using the straight-line method over the estimated useful lives of the equipment, ranging from</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="-sec-ix-hidden:Tag1069">one</span> to</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">seven years. Leasehold improvements are amortized using the straight-line method over the shorter of the asset useful life or the underlying lease term, ranging from</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="-sec-ix-hidden:Tag1070">one</span> to</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">eight years. Gains or losses on dispositions are included in current operations.</span></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Goodwill<br/></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Goodwill represents the excess of purchase price over the fair value of net assets acquired in a business combination. We have determined that we have</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">one reporting unit. <span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">We evaluate the carrying value of goodwill annually on December 31</span>st and more frequently if management believes indicators of impairment exist. Such indicators could include, but are not limited to (1) a significant adverse change in legal factors or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. We first assess qualitative factors to determine whether it is more likely than not that our fair value is greater than carrying value (i.e. net book value). If we conclude that it is more likely than not that our fair value is greater than carrying value, no further testing is required. If we conclude that it is more likely than not that our fair value is less than carrying value, we estimate our fair value using the income approach. The income approach is a valuation technique under which we estimate future cash flows using financial forecasts. Future estimated cash flows are discounted to their present value to calculate fair value. When considering fair value, we also give consideration to the control premium in excess of our current market capitalization that might be obtained from a third party acquirer. Goodwill impairment is measured as the amount by which our carrying value exceeds our fair value, but not in an amount in excess of the carrying value of goodwill.</span></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">On December 31, 2020 and <span style="display: inline;">2019</span>, we performed a qualitative assessment to determine if there was any indication that our goodwill might be impaired. After considering all available evidence, including our financial performance, financial outlook and current market capitalization, we concluded that it is more likely than not that our fair value is greater than carrying value. As a result, no further testing was deemed necessary, and we determined that our goodwill was not impaired. Therefore, no amounts were recorded for goodwill impairment in <span style="display: inline;">2020</span> or <span style="display: inline;">2019</span>.</span></span></span></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Patents<br/></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Patents consist of legal and patent registration costs for protection of our proprietary technology. We amortize patent costs on a straight-line basis, based upon their estimated life.</span><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <div style="border-left: none; border-right: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Long Lived Assets</span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Intangible assets subject to amortization and other long-lived assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of the assets may not be recoverable. An impairment loss would be recognized when future undiscounted cash flows expected to result from use of the asset and eventual disposition are less than the carrying amount. </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Operating Leases</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">We determine if an arrangement is a lease at inception. Operating leases are recorded in operating lease right-of-use (ROU) assets, current operating lease liabilities, and long-term operating lease liabilities in our consolidated balance sheets. ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized based on the present value of lease payments over the lease term. The operating lease ROU assets exclude lease incentives. As our leases do not provide an implicit rate, we use our incremental borrowing rate to determine the present value of lease payments. Our leases may include renewal options to extend the lease term, the exercise of which are at our sole discretion. In our accounting treatment of leases, the lease terms used do not include any option to extend the lease, because it is not reasonably certain that we will exercise the option. Lease expense is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components (e.g., common-area or other maintenance costs) which are generally accounted for separately and expensed monthly. We do not recognize a ROU asset and lease liability for leases having a term of </span></span><span>12</span><span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"> months or less at the effective date.</span></span></span></p> </div> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Revenue Recognition</span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; line-height: inherit; color: #000000;">Revenue is measured based on consideration specified in the contract with a customer.<span style="border: 1pt none windowtext; padding: 0in; line-height: inherit;"> </span>A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account for purposes of revenue recognition. Revenue from all customers, including distributors, is recognized when a performance obligation is satisfied by transferring control of a product or service to a customer. Amounts billed to customers for shipping and handling are included in revenue. All shipping and handling costs associated with outbound freight are accounted for as fulfillment costs and are included in cost of sales. Taxes collected from customers and remitted to governmental authorities are excluded from revenue on the net basis of accounting. Accounts receivable are due under normal trade terms, typically 120 days or less.</span><span style="font-size: 10pt; line-height: inherit;"/></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; line-height: inherit; color: #000000;"><br/></span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; line-height: inherit; color: #000000;"><span style="color: #000000; font-family: 'Times New Roman', serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Our performance obligations are mostly satisfied at a point in time and to a lesser extent over time as work progresses. Revenue for products and services transferred to customers at a point in time is recognized when obligations under the terms of the contract with our customer are satisfied; generally with the transfer of control upon shipment. Sales of some products may require customer acceptance due to performance or other acceptance criteria that is considered more than a formality. For these product sales, revenue is recognized upon notification of customer acceptance.</span><br/></span></p> <p style="font-size: 7pt; line-height: 1.1; margin: 0pt;"><br/></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; line-height: inherit; color: #000000;">Sales involving multiple performance obligations typically include the sale of an <span style="color: #000000; font-family: 'Times New Roman', serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; line-height: inherit;">inspection or metrology systems</span> product, installation and training, and in some cases, an extended warranty. When a sale involves multiple performance obligations, we account for individual products and services separately if the customer can benefit from the product or service on its own or with other resources that are readily available to the customer and the product or service are separately identifiable from other promises in the arrangement.<span style="border: 1pt none windowtext; padding: 0in; line-height: inherit;"> Undelivered performance obligations in an arrangement are typically minimal, consisting of undelivered installation and training services. </span>The consideration is allocated between separate performance obligations in proportion to their estimated stand-alone selling price. If the stand-alone selling price is not directly observable, we use the cost plus margin approach to estimate stand-alone selling price. Costs related to products delivered are recognized in the period revenue is recognized; including product warranties for periods ranging from 1 to 3 years (see Note 9).</span><br/></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; text-indent: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; line-height: 120%; color: #000000;"><span>Periodically</span>, sensor product arrangements with our original equipment manufacturers (OEM's) will create an asset with no alternative use and include an enforceable right to payment.</span><span style="border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;"> </span><span style="font-size: 10pt;">For these arrangements, control is transferred over the manufacturing process; therefore, revenue is recognized over time utilizing an input method based on actual costs incurred in the manufacturing process to date relative to total expected production costs. For certain longer duration 3D scanning service projects, we progress bill as the services are performed.</span><span style="border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;"> </span><span style="font-size: 10pt;">These arrangements create an asset with no alternative use and include an enforceable right to payment.</span><span style="border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;"> <span style="font-size: 10pt;">For these arrangements, control is transferred over the hours incurred to complete the scanning project; therefore, revenue is recognized over time utilizing an input method based on actual hours incurred relative to total projected project hours. </span></span><span style="font-size: 10pt;">For maintenance and extended warranty contracts, revenue is recognized over time on a straight-line basis over the term of the contract as the customer simultaneously receives and consumes the benefits of the coverage.</span></span><br/></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"><em/></strong></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; /* background-color: #ffffff; */text-decoration-style: initial; text-decoration-color: initial;"><em>Practical Expedients </em></strong></span></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"><em/></strong></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"/>We generally expense the incremental costs of obtaining a contract when incurred because the amortization period for these costs would be less than one year. These costs primarily relate to sales commissions and are recorded in selling, general and administrative expense in our consolidated statements of operations. </span></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;">We do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less, primarily consisting of product installation and training. We do not adjust the promised amount of consideration for the effects of a significant financing component if we expect, at contract inception, that the period between when we transfer a promised good or service to a customer and when the customer pays for that good or service will be one year or less. </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <div> </div> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Foreign Currency Translation<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Financial position and results of operations of our international subsidiaries are measured using local currency as their functional currency. Assets and liabilities of these operations are translated at the exchange rates in effect at each fiscal year-end. Statements of operations accounts are translated at the average rates of exchange prevailing during the year. Translation adjustments arising from the use of differing exchange rates from period to period are included as a cumulative translation adjustment in stockholders’</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">equity.<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Foreign Currency Transactions<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Foreign currency transaction gains and losses are included in interest income and other, net in the statement of operations. We recognized foreign currency transaction<span> gains of</span><span> </span></span><span><span style="font-size: 10pt;"><span>$</span>27,000 in</span><span style="font-size: 10pt;"> 2020. We recognized foreign transaction losses of</span><span class="selected" style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$127,000 in 2019</span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">.</span></span></span></span></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Research and Development<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Research and development (R&amp;D) costs, including product software development, are expensed when incurred. Product software development costs are required to be expensed until the point that technological feasibility and proven marketability of the product are established; costs otherwise capitalizable after such point also are expensed because they are insignificant. All other R&amp;D costs are expensed as incurred. R&amp;D expenses consist primarily of salaries, project materials, contract labor and other costs associated with ongoing product development and enhancement efforts.</span></p> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 10pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Advertising Costs<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We expense all advertising costs as incurred. Advertising expenses were</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$371,000 in</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">2020 and </span></span><span style="font-size: 10pt;">$408,000 in</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">2019<span style="border-left: none; border-right: none;">.</span></span></span></span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> <strong><span style="font-family: 'times new roman', times; font-size: 10pt;">Warranty Costs</span></strong> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 10pt;"> </p> <span style="font-family: 'times new roman', times; font-size: 10pt;">We provide for the estimated cost of product warranties, which cover products for periods ranging from <span style="-sec-ix-hidden:Tag1071">one</span> to </span><span style="font-family: 'times new roman', times; font-size: 10pt;">three years</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> at the time revenue is recognized.</span> <div><br/></div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Income Taxes<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We evaluate uncertain tax positions using the</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“more likely than not”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">threshold (i.e., a likelihood of occurrence greater than fifty percent). The recognition threshold is met when an entity concludes that a tax position, based solely on its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority. Those tax positions failing to qualify for initial recognition are classified as a gross unrecognized tax benefit until the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statute of limitations. De-recognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.</span></span></p> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 10pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Only the portion of the unrecognized tax benefit that is expected to be paid within<span> one</span> year is classified as a current liability. As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statute of limitations) or are not expected to be paid within <span>one year</span> are not classified as current. It is our policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Deferred income taxes are recorded to reflect the tax consequences in future years of differences between the financial reporting and tax bases of assets and liabilities. Income tax expense is the sum of the tax currently payable and the change in the deferred tax assets and liabilities during the period, excluding changes in deferred tax assets recorded to goodwill. Valuation allowances are established when, in the opinion of management, it is more likely than not that some portion or all of the deferred tax assets will not be realized. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on all positive and negative evidence.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Net Income Per Share</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Basic net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. Common equivalent shares consist of common shares to be issued upon exercise of stock options, vesting of restricted stock units, vesting of restricted shares and from purchases of shares under our employee stock purchase plan, as calculated using the treasury stock method. Common equivalent shares are excluded from the calculation of net income per diluted share if their effect is anti-dilutive.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <div> <div id="t_ft_I3MT38D70000000000000000000000b"> <table style="width: 100%; font-family: 'times new roman'; font-size: 10pt;"> <tbody> <tr> <td class="pgno" style="padding: 0px; text-align: center;"><span class="pageno" style="font-size: 10pt;">38</span></td> </tr> </tbody> </table> </div> <hr class="horizontalLineRemoved" style="border-bottom-color: #000000; border-top-color: #000000; color: #000000; background-color: #000000;"/> <div class="pageBreak" style="page-break-before: always; font-size: 10pt; text-align: left;"><a href="#TOC">Table of Contents</a></div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <div style="border-right: none; border-left: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-weight: bold;">Comprehensive Income</span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-weight: bold;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span>Total comprehensive income and the components of accumulated other comprehensive loss are presented in the Consolidated Statements of Comprehensive Income and the Consolidated Statements of Stockholders' Equity. Accumulated other comprehensive loss is composed of foreign currency translation effects and unrealized gains and losses on available-for-sale marketable debt securities. We use the individual item approach for releasing income tax effects from accumulated other comprehensive loss.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Fair Value of Financial Instruments <br/></span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 8pt; font-family: 'Times New Roman', serif;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The carrying amounts of financial instruments such as cash equivalents, accounts receivable, other assets, accounts payable, advance customer payments, accrued expenses and other liabilities approximate their related fair values due to the short-term maturities of these instruments. The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial.</span></p> <div><br/></div> <div style="border-right: none; border-left: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Share-Based Compensation<br/></span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 8pt; font-family: 'Times New Roman', serif;"><br/></p> <p style="font-size: 10pt; line-height: 1.3; margin: 0pt 0pt 6pt; text-indent: 0pt;"><span style="font-family: 'times new roman', times; line-height: inherit;"><span style="font-size: 10pt; line-height: inherit;">All share-based payments to employees, including grants of stock options, are required to be recognized as an expense in our consolidated statements of operations based on the grant date fair value of the award. We utilize the straight-line method of expense recognition over the award’s service period for our graded vesting options. The fair value of stock options has been determined usi<span style="line-height: inherit;">ng the Black-Scholes model. We account for the impact of forfeitures related to employee share-based payment arrangements when the forfeitures occur. </span></span><span style="line-height: inherit;"><span style="font-size: 10pt; line-height: inherit;">We have classified employee share-based compensation within our consolidated statements of operations in the same manner as our cash based employee compensation costs.</span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">See Note 7 to the consolidated financial statements for additional information related to employee share-based compensation. </span></span></p> </div> <p style="font-size: 8pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Related Party Transactions<br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We periodically sell or purchase products from companies for which our board members serve in an executive capacity and in some cases on the board of directors. These transactions occur in the normal course of business. Our cumulative sales to these companies </span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">were $40,000</span> in 2020 and $4,000 in 2019</span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">.  </span></span></span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">Our cumulative purchases from these companies were $59,000 in 2020.  There were no such purchases in 2019. </span></span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;"><br/></span></span></span></p> <div style="border-left: none; border-right: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; line-height: inherit;">Recent Accounting Developments</span></p> <p style="font-size: 8pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; text-indent: 0pt; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; line-height: inherit;"><span style="color: #000000; line-height: inherit;"><span class="selected" style="line-height: inherit;">In February 2016, the Financial Accounting Standards Board (FASB) issued new lease accounting guidance, ASU 2016-02, <em>Leases</em> (Topic 842), which we adopted on January 1, 2019. Under Topic 842, lessees are required (a) to recognize a lease liability, which is a lessee's obligation to make lease payments arising from a lease, measured on a discounted basis, and</span><span class="selected" style="line-height: inherit;"> (b) to record a</span> right-of-use asset, which is an asset that represents the lessee’s right to use, or control the use of, a specified asset for the lease term. In July 2018, the FASB issued ASU 2018-11, <em class="selected">Leases (Topic 842), Targeted Improvements</em></span></span><span style="font-family: 'times new roman', times; font-size: 10pt; line-height: inherit;">, which gave companies the option of applying the new standard at the adoption date, rather than retrospectively to the earliest period presented in the financial statements, with recognition of a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption. We chose the option to apply the new standard at the adoption date, and therefore we were not required to restate the financial statements of prior periods. Our adoption of Topic 842 on January 1, 2019 resulted in<span> a $</span>33,000<span> i</span>ncrease in retained earnings to record the cumulative effect adjustment. Our adoption of Topic 842 did not impact our cash flows or have a material impact on our results of operations. </span><br/></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: 'Times New Roman', serif; color: #000000; line-height: inherit;"><span style="font-family: 'times new roman', times; line-height: inherit;"><br/></span></span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: 'Times New Roman', serif; color: #000000; line-height: inherit;"><span style="font-family: 'times new roman', times; line-height: inherit;">In June 2016, the FASB issued ASU No. 2016-13, <i>Measurement of Credit Losses on Financial Instruments</i>, which revises guidance for the accounting for credit losses on financial instruments within its scope, and in November 2018, issued ASU No. 2018-19, which amended the standard. The new standard introduces an approach to estimating credit losses that is based on expected losses (referred to as the current expected credit losses model), and applies to most financial assets measured at amortized cost and certain other instruments, including available-for-sale marketable debt securities, trade and other receivables. The new standard is effective for us on January 1, 2023, with early adoption permitted. We are required to apply the standard’s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted. We presently do not believe the new standard will have a material impact on our consolidated financial statements.</span></span><br/></p> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; line-height: 1.1;"><span style="font-size: 10pt; line-height: inherit;"><br/></span></p> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; line-height: 1.1;"><span style="font-size: 10pt; line-height: inherit;">No other new accounting pronouncements are expected to have a significant impact on our consolidated financial statements.</span><span style="font-size: 10pt; line-height: inherit;"><br/></span></p> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; line-height: 1.1;"><span style="font-size: 10pt; line-height: inherit;"><br/></span></p> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Principles of Consolidation<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">The consolidated financial statements include the accounts of CyberOptics Corporation and its wholly-owned subsidiaries. In these notes to the consolidated financial statements, these companies are collectively referred to as</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“CyberOptics,”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“we,”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“us,”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">or</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“our.”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">All significant inter-company accounts and transactions have been eliminated in consolidation.</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Segment Reporting<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">We operate in a single reportable segment that includes the design, development and manufacture of high precision sensing, inspection and metrology solutions for the SMT and semiconductor markets.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Use of Estimates<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The preparation of consolidated financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates.</span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Cash and Cash Equivalents<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We consider all highly liquid investments purchased with an original maturity of</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">90 days or less to be cash equivalents. Cash and cash equivalents consist of funds maintained in demand deposit accounts, money market accounts, certificate of deposits, corporate debt instruments and U.S. government backed obligations. Cash and cash equivalent balances, at times, may exceed federally insured limits. </span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Marketable Securities</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">A<span>ll marketable securities are classified as available-for-sale and consist of U.S. government and agency backed obligations, certificates of deposit, corporate debt instruments, asset backed securities or equity securities. Marketable securities are classified as short-term or long-term in the consolidated balance sheets based on their maturity date and expectations regarding sales.</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Available-for-sale securities are carried at fair value. Unrealized gains and losses for marketable debt securities are reported as a separate component of stockholders’</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">equity until realized. Unrealized gains and losses for marketable equity securities are recognized in net income. Fair values are primarily determined using quoted market prices or valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The carrying amounts of securities, for purposes of computing unrealized gains and losses, are determined by specific identification. The cost of securities sold is also determined by specific identification.<br/><br/></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">We monitor the carrying value of our marketable debt securities compared to their fair value to determine whether an other-than-temporary impairment has occurred. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. If a decline in fair value of our marketable debt securities is determined to be other-than-temporary, an impairment charge related to that specific investment is recorded in net income.<br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Cash and marketable securities held by foreign subsidiaries totaled</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$672,000 at</span><span style="font-size: 10pt;"> </span>December 31, 2020<span style="font-size: 10pt;"> and</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$<span style="border-left: none; border-right: none;">327,000</span> at</span><span style="font-size: 10pt;"> </span>December 31, 2019<span style="font-size: 10pt;">.</span></span></span></p> 672000 327000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><strong><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Inventories</span></span></strong></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;">Inventories are stated at the lower of cost or net realizable value, with cost determined using the first-in, first-out (FIFO) method. Appropriate consideration is given to deterioration, obsolescence, and other factors in evaluating net realizable value.  </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Accounts and Trade Notes Receivable</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">We extend unsecured credit to our customers in the normal course of business. We periodically provide financing to customers for the purchase of <span style="border: 0px; box-sizing: border-box; color: #333333; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">SQ3000 Multi-Function system products. Trade notes receivable bear interest at annual effective rates ranging from approximately 5% to 7%, and are repayable over periods ranging from 18 to 36 months. The current portion of the trade notes are classified as accounts receivable in the accompanying balance sheets. </span></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #333333; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><br/></span></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #333333; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; box-sizing: border-box; color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Interest income will be discontinued for any trade notes receivable with a specific reserve established if it is likely that we will be unable to collect all amounts due according to the original terms of the trade notes. For these trade notes receivable, cash collection will first be applied as a reduction to principal outstanding. Any cash received in excess of the outstanding principal payments will be recognized as interest income. Trade notes receivable may be removed from non-accrual status with respect to interest income based upon changes in customer circumstances, including a sustained history of payments. At December 31, 2020, none of our trade notes receivable were in a non-accrual status with respect to interest income.</span></span></span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Allowance for Doubtful Accounts and Trade Notes <br/></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <span style="font-family: 'times new roman', times; font-size: 10pt;">Allowances for doubtful accounts are maintained for estimated losses resulting from the inability of our customers to make required payments. In making the determination of the appropriate allowance for doubtful accounts, we consider specific accounts, historical write-offs, changes in customer relationships and credit worthiness and concentrations of credit risk. Specific accounts and trade notes receivable are written-off once a determination is made that the account is uncollectible.</span> 0.05 0.07 P18M P36M <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Equipment and Leasehold Improvements<br/></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Equipment and leasehold improvements are stated at cost. Significant additions or improvements extending asset lives are capitalized, while repairs and maintenance are charged to expense as incurred. In-progress costs are capitalized with depreciation beginning when assets are placed in service. Depreciation is recorded using the straight-line method over the estimated useful lives of the equipment, ranging from</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="-sec-ix-hidden:Tag1069">one</span> to</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">seven years. Leasehold improvements are amortized using the straight-line method over the shorter of the asset useful life or the underlying lease term, ranging from</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="-sec-ix-hidden:Tag1070">one</span> to</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">eight years. Gains or losses on dispositions are included in current operations.</span></span></p> P7Y P8Y <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Goodwill<br/></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Goodwill represents the excess of purchase price over the fair value of net assets acquired in a business combination. We have determined that we have</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">one reporting unit. <span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">We evaluate the carrying value of goodwill annually on December 31</span>st and more frequently if management believes indicators of impairment exist. Such indicators could include, but are not limited to (1) a significant adverse change in legal factors or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. We first assess qualitative factors to determine whether it is more likely than not that our fair value is greater than carrying value (i.e. net book value). If we conclude that it is more likely than not that our fair value is greater than carrying value, no further testing is required. If we conclude that it is more likely than not that our fair value is less than carrying value, we estimate our fair value using the income approach. The income approach is a valuation technique under which we estimate future cash flows using financial forecasts. Future estimated cash flows are discounted to their present value to calculate fair value. When considering fair value, we also give consideration to the control premium in excess of our current market capitalization that might be obtained from a third party acquirer. Goodwill impairment is measured as the amount by which our carrying value exceeds our fair value, but not in an amount in excess of the carrying value of goodwill.</span></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">On December 31, 2020 and <span style="display: inline;">2019</span>, we performed a qualitative assessment to determine if there was any indication that our goodwill might be impaired. After considering all available evidence, including our financial performance, financial outlook and current market capitalization, we concluded that it is more likely than not that our fair value is greater than carrying value. As a result, no further testing was deemed necessary, and we determined that our goodwill was not impaired. Therefore, no amounts were recorded for goodwill impairment in <span style="display: inline;">2020</span> or <span style="display: inline;">2019</span>.</span></span></span></p> 1 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Patents<br/></span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Patents consist of legal and patent registration costs for protection of our proprietary technology. We amortize patent costs on a straight-line basis, based upon their estimated life.</span><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Long Lived Assets</span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Intangible assets subject to amortization and other long-lived assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of the assets may not be recoverable. An impairment loss would be recognized when future undiscounted cash flows expected to result from use of the asset and eventual disposition are less than the carrying amount. </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Operating Leases</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">We determine if an arrangement is a lease at inception. Operating leases are recorded in operating lease right-of-use (ROU) assets, current operating lease liabilities, and long-term operating lease liabilities in our consolidated balance sheets. ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized based on the present value of lease payments over the lease term. The operating lease ROU assets exclude lease incentives. As our leases do not provide an implicit rate, we use our incremental borrowing rate to determine the present value of lease payments. Our leases may include renewal options to extend the lease term, the exercise of which are at our sole discretion. In our accounting treatment of leases, the lease terms used do not include any option to extend the lease, because it is not reasonably certain that we will exercise the option. Lease expense is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components (e.g., common-area or other maintenance costs) which are generally accounted for separately and expensed monthly. We do not recognize a ROU asset and lease liability for leases having a term of </span></span><span>12</span><span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"> months or less at the effective date.</span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Revenue Recognition</span></p> <p style="font-size: 6pt; line-height: 120%; margin: 0pt;"> </p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; line-height: inherit; color: #000000;">Revenue is measured based on consideration specified in the contract with a customer.<span style="border: 1pt none windowtext; padding: 0in; line-height: inherit;"> </span>A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account for purposes of revenue recognition. Revenue from all customers, including distributors, is recognized when a performance obligation is satisfied by transferring control of a product or service to a customer. Amounts billed to customers for shipping and handling are included in revenue. All shipping and handling costs associated with outbound freight are accounted for as fulfillment costs and are included in cost of sales. Taxes collected from customers and remitted to governmental authorities are excluded from revenue on the net basis of accounting. Accounts receivable are due under normal trade terms, typically 120 days or less.</span><span style="font-size: 10pt; line-height: inherit;"/></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; line-height: inherit; color: #000000;"><br/></span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; line-height: inherit; color: #000000;"><span style="color: #000000; font-family: 'Times New Roman', serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Our performance obligations are mostly satisfied at a point in time and to a lesser extent over time as work progresses. Revenue for products and services transferred to customers at a point in time is recognized when obligations under the terms of the contract with our customer are satisfied; generally with the transfer of control upon shipment. Sales of some products may require customer acceptance due to performance or other acceptance criteria that is considered more than a formality. For these product sales, revenue is recognized upon notification of customer acceptance.</span><br/></span></p> <p style="font-size: 7pt; line-height: 1.1; margin: 0pt;"><br/></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; line-height: inherit; color: #000000;">Sales involving multiple performance obligations typically include the sale of an <span style="color: #000000; font-family: 'Times New Roman', serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; line-height: inherit;">inspection or metrology systems</span> product, installation and training, and in some cases, an extended warranty. When a sale involves multiple performance obligations, we account for individual products and services separately if the customer can benefit from the product or service on its own or with other resources that are readily available to the customer and the product or service are separately identifiable from other promises in the arrangement.<span style="border: 1pt none windowtext; padding: 0in; line-height: inherit;"> Undelivered performance obligations in an arrangement are typically minimal, consisting of undelivered installation and training services. </span>The consideration is allocated between separate performance obligations in proportion to their estimated stand-alone selling price. If the stand-alone selling price is not directly observable, we use the cost plus margin approach to estimate stand-alone selling price. Costs related to products delivered are recognized in the period revenue is recognized; including product warranties for periods ranging from 1 to 3 years (see Note 9).</span><br/></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; text-indent: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; line-height: 120%; color: #000000;"><span>Periodically</span>, sensor product arrangements with our original equipment manufacturers (OEM's) will create an asset with no alternative use and include an enforceable right to payment.</span><span style="border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;"> </span><span style="font-size: 10pt;">For these arrangements, control is transferred over the manufacturing process; therefore, revenue is recognized over time utilizing an input method based on actual costs incurred in the manufacturing process to date relative to total expected production costs. For certain longer duration 3D scanning service projects, we progress bill as the services are performed.</span><span style="border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;"> </span><span style="font-size: 10pt;">These arrangements create an asset with no alternative use and include an enforceable right to payment.</span><span style="border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;"> <span style="font-size: 10pt;">For these arrangements, control is transferred over the hours incurred to complete the scanning project; therefore, revenue is recognized over time utilizing an input method based on actual hours incurred relative to total projected project hours. </span></span><span style="font-size: 10pt;">For maintenance and extended warranty contracts, revenue is recognized over time on a straight-line basis over the term of the contract as the customer simultaneously receives and consumes the benefits of the coverage.</span></span><br/></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"><em/></strong></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; /* background-color: #ffffff; */text-decoration-style: initial; text-decoration-color: initial;"><em>Practical Expedients </em></strong></span></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"><em/></strong></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"/>We generally expense the incremental costs of obtaining a contract when incurred because the amortization period for these costs would be less than one year. These costs primarily relate to sales commissions and are recorded in selling, general and administrative expense in our consolidated statements of operations. </span></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;">We do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less, primarily consisting of product installation and training. We do not adjust the promised amount of consideration for the effects of a significant financing component if we expect, at contract inception, that the period between when we transfer a promised good or service to a customer and when the customer pays for that good or service will be one year or less. </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <div> </div> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><br/></p> P120D P1Y P3Y <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Foreign Currency Translation<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Financial position and results of operations of our international subsidiaries are measured using local currency as their functional currency. Assets and liabilities of these operations are translated at the exchange rates in effect at each fiscal year-end. Statements of operations accounts are translated at the average rates of exchange prevailing during the year. Translation adjustments arising from the use of differing exchange rates from period to period are included as a cumulative translation adjustment in stockholders’</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">equity.<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Foreign Currency Transactions<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Foreign currency transaction gains and losses are included in interest income and other, net in the statement of operations. We recognized foreign currency transaction<span> gains of</span><span> </span></span><span><span style="font-size: 10pt;"><span>$</span>27,000 in</span><span style="font-size: 10pt;"> 2020. We recognized foreign transaction losses of</span><span class="selected" style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$127,000 in 2019</span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">.</span></span></span></span></p> <p style="font-size: 7pt; line-height: 120%; margin: 0pt;"><br/></p> 27000 -127000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Research and Development<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Research and development (R&amp;D) costs, including product software development, are expensed when incurred. Product software development costs are required to be expensed until the point that technological feasibility and proven marketability of the product are established; costs otherwise capitalizable after such point also are expensed because they are insignificant. All other R&amp;D costs are expensed as incurred. R&amp;D expenses consist primarily of salaries, project materials, contract labor and other costs associated with ongoing product development and enhancement efforts.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Advertising Costs<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We expense all advertising costs as incurred. Advertising expenses were</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$371,000 in</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">2020 and </span></span><span style="font-size: 10pt;">$408,000 in</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">2019<span style="border-left: none; border-right: none;">.</span></span></span></span></p> 371000 408000 <strong><span style="font-family: 'times new roman', times; font-size: 10pt;">Warranty Costs</span></strong> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 10pt;"> </p> <span style="font-family: 'times new roman', times; font-size: 10pt;">We provide for the estimated cost of product warranties, which cover products for periods ranging from <span style="-sec-ix-hidden:Tag1071">one</span> to </span><span style="font-family: 'times new roman', times; font-size: 10pt;">three years</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> at the time revenue is recognized.</span> P3Y <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Income Taxes<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We evaluate uncertain tax positions using the</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">“more likely than not”</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">threshold (i.e., a likelihood of occurrence greater than fifty percent). The recognition threshold is met when an entity concludes that a tax position, based solely on its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority. Those tax positions failing to qualify for initial recognition are classified as a gross unrecognized tax benefit until the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statute of limitations. De-recognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.</span></span></p> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 10pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Only the portion of the unrecognized tax benefit that is expected to be paid within<span> one</span> year is classified as a current liability. As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statute of limitations) or are not expected to be paid within <span>one year</span> are not classified as current. It is our policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Deferred income taxes are recorded to reflect the tax consequences in future years of differences between the financial reporting and tax bases of assets and liabilities. Income tax expense is the sum of the tax currently payable and the change in the deferred tax assets and liabilities during the period, excluding changes in deferred tax assets recorded to goodwill. Valuation allowances are established when, in the opinion of management, it is more likely than not that some portion or all of the deferred tax assets will not be realized. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on all positive and negative evidence.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Net Income Per Share</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Basic net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. Common equivalent shares consist of common shares to be issued upon exercise of stock options, vesting of restricted stock units, vesting of restricted shares and from purchases of shares under our employee stock purchase plan, as calculated using the treasury stock method. Common equivalent shares are excluded from the calculation of net income per diluted share if their effect is anti-dilutive.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <div> <div id="t_ft_I3MT38D70000000000000000000000b"> <table style="width: 100%; font-family: 'times new roman'; font-size: 10pt;"> <tbody> <tr> <td class="pgno" style="padding: 0px; text-align: center;"><span class="pageno" style="font-size: 10pt;">38</span></td> </tr> </tbody> </table> </div> <hr class="horizontalLineRemoved" style="border-bottom-color: #000000; border-top-color: #000000; color: #000000; background-color: #000000;"/> <div class="pageBreak" style="page-break-before: always; font-size: 10pt; text-align: left;"><a href="#TOC">Table of Contents</a></div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <div style="border-right: none; border-left: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-weight: bold;">Comprehensive Income</span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-weight: bold;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span>Total comprehensive income and the components of accumulated other comprehensive loss are presented in the Consolidated Statements of Comprehensive Income and the Consolidated Statements of Stockholders' Equity. Accumulated other comprehensive loss is composed of foreign currency translation effects and unrealized gains and losses on available-for-sale marketable debt securities. We use the individual item approach for releasing income tax effects from accumulated other comprehensive loss.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-weight: bold;">Comprehensive Income</span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-weight: bold;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span>Total comprehensive income and the components of accumulated other comprehensive loss are presented in the Consolidated Statements of Comprehensive Income and the Consolidated Statements of Stockholders' Equity. Accumulated other comprehensive loss is composed of foreign currency translation effects and unrealized gains and losses on available-for-sale marketable debt securities. We use the individual item approach for releasing income tax effects from accumulated other comprehensive loss.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Fair Value of Financial Instruments <br/></span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 8pt; font-family: 'Times New Roman', serif;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The carrying amounts of financial instruments such as cash equivalents, accounts receivable, other assets, accounts payable, advance customer payments, accrued expenses and other liabilities approximate their related fair values due to the short-term maturities of these instruments. The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Share-Based Compensation<br/></span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 8pt; font-family: 'Times New Roman', serif;"><br/></p> <p style="font-size: 10pt; line-height: 1.3; margin: 0pt 0pt 6pt; text-indent: 0pt;"><span style="font-family: 'times new roman', times; line-height: inherit;"><span style="font-size: 10pt; line-height: inherit;">All share-based payments to employees, including grants of stock options, are required to be recognized as an expense in our consolidated statements of operations based on the grant date fair value of the award. We utilize the straight-line method of expense recognition over the award’s service period for our graded vesting options. The fair value of stock options has been determined usi<span style="line-height: inherit;">ng the Black-Scholes model. We account for the impact of forfeitures related to employee share-based payment arrangements when the forfeitures occur. </span></span><span style="line-height: inherit;"><span style="font-size: 10pt; line-height: inherit;">We have classified employee share-based compensation within our consolidated statements of operations in the same manner as our cash based employee compensation costs.</span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">See Note 7 to the consolidated financial statements for additional information related to employee share-based compensation. </span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Related Party Transactions<br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We periodically sell or purchase products from companies for which our board members serve in an executive capacity and in some cases on the board of directors. These transactions occur in the normal course of business. Our cumulative sales to these companies </span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">were $40,000</span> in 2020 and $4,000 in 2019</span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">.  </span></span></span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">Our cumulative purchases from these companies were $59,000 in 2020.  There were no such purchases in 2019. </span></span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;"><br/></span></span></span></p> 40000 4000 59000 0 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; line-height: inherit;">Recent Accounting Developments</span></p> <p style="font-size: 8pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; text-indent: 0pt; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; line-height: inherit;"><span style="color: #000000; line-height: inherit;"><span class="selected" style="line-height: inherit;">In February 2016, the Financial Accounting Standards Board (FASB) issued new lease accounting guidance, ASU 2016-02, <em>Leases</em> (Topic 842), which we adopted on January 1, 2019. Under Topic 842, lessees are required (a) to recognize a lease liability, which is a lessee's obligation to make lease payments arising from a lease, measured on a discounted basis, and</span><span class="selected" style="line-height: inherit;"> (b) to record a</span> right-of-use asset, which is an asset that represents the lessee’s right to use, or control the use of, a specified asset for the lease term. In July 2018, the FASB issued ASU 2018-11, <em class="selected">Leases (Topic 842), Targeted Improvements</em></span></span><span style="font-family: 'times new roman', times; font-size: 10pt; line-height: inherit;">, which gave companies the option of applying the new standard at the adoption date, rather than retrospectively to the earliest period presented in the financial statements, with recognition of a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption. We chose the option to apply the new standard at the adoption date, and therefore we were not required to restate the financial statements of prior periods. Our adoption of Topic 842 on January 1, 2019 resulted in<span> a $</span>33,000<span> i</span>ncrease in retained earnings to record the cumulative effect adjustment. Our adoption of Topic 842 did not impact our cash flows or have a material impact on our results of operations. </span><br/></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: 'Times New Roman', serif; color: #000000; line-height: inherit;"><span style="font-family: 'times new roman', times; line-height: inherit;"><br/></span></span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: 'Times New Roman', serif; color: #000000; line-height: inherit;"><span style="font-family: 'times new roman', times; line-height: inherit;">In June 2016, the FASB issued ASU No. 2016-13, <i>Measurement of Credit Losses on Financial Instruments</i>, which revises guidance for the accounting for credit losses on financial instruments within its scope, and in November 2018, issued ASU No. 2018-19, which amended the standard. The new standard introduces an approach to estimating credit losses that is based on expected losses (referred to as the current expected credit losses model), and applies to most financial assets measured at amortized cost and certain other instruments, including available-for-sale marketable debt securities, trade and other receivables. The new standard is effective for us on January 1, 2023, with early adoption permitted. We are required to apply the standard’s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted. We presently do not believe the new standard will have a material impact on our consolidated financial statements.</span></span><br/></p> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; line-height: 1.1;"><span style="font-size: 10pt; line-height: inherit;"><br/></span></p> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; line-height: 1.1;"><span style="font-size: 10pt; line-height: inherit;">No other new accounting pronouncements are expected to have a significant impact on our consolidated financial statements.</span><span style="font-size: 10pt; line-height: inherit;"><br/></span></p> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; line-height: 1.1;"><span style="font-size: 10pt; line-height: inherit;"><br/></span></p> -33000 <div style="font-family: 'times new roman', times; font-size: 10pt; margin: 0px; text-indent: 0px;"> <p style="margin: 0px; text-indent: 0px;"><span style="font-weight: bold; font-size: 10pt;"><span>NOTE</span> 2 - COVID-19 PANDEMIC:</span><br/></p> </div> <div style="font-family: 'times new roman', times; font-size: 10pt; margin: 0px; text-indent: 0px;"><span style="font-weight: bold;"><br/></span></div> <div style="font-family: 'times new roman', times; font-size: 10pt;"><span style="font-weight: bold;">Effect of Covid-19 Outbreak on Business Operations</span></div> <div style="font-family: 'times new roman', times; font-size: 10pt;"><br/></div> <div style="font-family: 'times new roman', times; font-size: 10pt;">A novel strain of coronavirus ("Covid-19") was first identified in December 2019, and in March 2020, the World Health Organization categorized Covid-19 as a pandemic. The Covid-19 pandemic is affecting our customers, suppliers, service providers and employees, and the ultimate impacts of Covid-19 on our business, results of operations, liquidity and prospects are not fully known at this time. The Covid-19 outbreak has not had a significant impact on our business to date. However, the following factors have affected and may continue to affect our business: <span style="font-weight: bold;"><br/></span></div> <ul style="list-style-type: disc;"> <li class="mylistitemclass" style="font-family: 'times new roman', times; font-size: 10pt;">Our key factories are located in Minnesota and Singapore. Both of these locations have been subject to government mandated shelter-in-place orders. Because our operations have been deemed essential, we were able to keep our factories up and running while the shelter-in-place mandates were in effect. If the pandemic worsens, it is possible that our operations may not be deemed essential under future government mandated shelter-in-place orders, and we may be required to shut-down factory operations. We have periodically implemented split-shifts for our factory operations to minimize the number of employees in our facilities at any given time, but these measures have not affected our production capacity. Most of the time, our non-factory employees are working remotely. To date, the shelter-in-place mandates and remote work arrangements have had a minimal impact on operations, but material negative effects on our business could result if the pandemic worsens and continues for an extended period of time.</li> </ul> <ul style="list-style-type: disc;"> <li class="mylistitemclass" style="font-family: 'times new roman', times; font-size: 10pt;">Sales of some products, mainly our SQ3000 Multi-Function systems and MX memory module inspection products, require customer acceptance due to performance or other criteria that is considered more than a formality. Most of our customer’s factories have remained open during the Covid-19 pandemic because they are deemed to be essential under government shelter-in-place mandates. However, global travel restrictions and quarantine measures have hindered our ability to obtain customer acceptances for certain of our products at various times in 2020. Continuing or new global travel restrictions and quarantine measures could hinder our ability to obtain customer acceptances in a timely manner in the future, and therefore impact the timing of revenue recognition.</li> </ul> <ul style="list-style-type: disc;"> <li class="mylistitemclass" style="font-family: 'times new roman', times; font-size: 10pt;">We have experienced some supply disruptions due to the Covid-19 pandemic, mainly from suppliers not deemed essential by shelter-in-place mandates in certain countries. Key supply chain disruptions have been resolved to date. However, supply chain disruptions could increase significantly if the pandemic worsens and continues for an extended period of time. To date, our on-hand inventories have been sufficient to enable us to mitigate supply disruptions. <br/></li> </ul> <p style="line-height: 1.1;"><span style="font-size: 10pt;">Although we cannot estimate the length or gravity of the impact of the Covid-19 outbreak at this time, if the pandemic continues as expected for the foreseeable future, it may have an adverse effect on our results of future operations, financial position and liquidity in 2021 and beyond. There have been recent spikes in Covid-19 cases, and some health experts have predicted that the Covid-19 pandemic will worsen during the coming months.</span></p> <p style="line-height: 1.1; margin: 10pt 0pt; text-indent: 0pt;"><span style="font-size: 10pt; line-height: inherit;"><span style="font-weight: bold; line-height: inherit;">United States Covid-19 Relief Legislation</span></span></p> <p style="line-height: 1.1; margin: 0px; text-indent: 0px;"><span style="font-size: 10pt; line-height: inherit;">O<span style="font-size: 10pt;">n March 27, 2020, the Coronavirus Aid, Relief and Economic Security Act (the "CARES Act") was signed into law in the United States. The CARES Act, among other things, includes provisions relating to refundable payroll tax credits, deferment of employer side social security payments, net operating loss carryback periods and alternative tax credit refunds. The CARES Act also appropriated funds for the Small Business Administration Paycheck Protection Program loans that are forgivable in certain circumstances to promote continued employment. On December 27, 2020, a second relief package, the Consolidated Appropriations Act, 2021 was signed into law which set aside funding for additional loans under the Paycheck Protection Program established by the CARES Act. We have analyzed both pieces of legislation and presently do not believe they will have a material impact on our financial condition, results of operations or liquidity. However, we will continue to monitor the impact these pieces of legislation<span> could have on our business in the future.</span></span></span></p> <p style="line-height: 1.1; margin: 0px; text-indent: 0px;"><span style="font-size: 10pt; line-height: inherit;"><span style="font-size: 10pt;"><span><br/></span></span></span></p> <p style="line-height: 1.1; margin: 0px; text-indent: 0px;"><span style="font-size: 10pt; font-weight: bold;">Singapore Jobs Support Program</span></p> <p style="line-height: 1.1; margin: 0px; text-indent: 0px;"><span style="font-size: 10pt;"> </span></p> <p style="margin: 0px; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: 0px;"><span style="font-size: 10pt;">The Singapore Government implemented a jobs support program in 2020 that was intended to support businesses and encourage retention of employees during the period of economic uncertainty caused by the Covid-19 pandemic. Under the jobs support program, the Singapore Government co-funded a portion of the gross monthly wages paid to local employees, which reduced our operating expense by $410,000 in 2020. We do not expect to receive any material benefit from the Singapore jobs support program in 2021. </span></p> <p style="margin: 0in 0in 0.0001pt; line-height: 1.1; font-size: 12pt; font-family: 'Times New Roman', serif;"><br/></p> <div> </div> <p style="margin: 10pt 0pt; text-indent: 0pt;"><span style="font-size: 10pt;"><span style="font-weight: bold;">Impairment Considerations (goodwill and intangibles)</span></span></p> <p style="line-height: 1.1;"><span style="font-size: 10pt;">The current Covid-19 pandemic has caused a significant deterioration in global economic conditions, including high levels of unemployment and a significant contraction in economic activity. Many economists and analysts believe the Covid-19 pandemic has resulted or could result in an economic recession or depression. We evaluate the carrying value of goodwill and intangibles for impairment whenever management believes indicators of impairment might exist. A significant deterioration in macroeconomic conditions is a key indicator of possible impairment. In addition to macroeconomic conditions, management considered the factors in the FASB's Accounting Standards Codification Topic 350 when analyzing goodwill and intangibles for possible impairment, including the following:</span></p> <ul style="list-style-type: disc;"> <li class="mylistitemclass"><span style="font-size: 10pt;">Conditions in the global SMT and semiconductor capital equipment markets (including conditions resulting from the Covid-19 pandemic);<br/></span></li> <li class="mylistitemclass"><span style="font-size: 10pt;">Our revenue and profitability in the year ended December 31, 2020;</span></li> <li class="mylistitemclass"><span style="font-size: 10pt;">Our backlog at December 31, 2020, which stood at<span> $</span>23.0<span> million;</span></span></li> <li class="mylistitemclass"><span style="font-size: 10pt;">Our forecasts for revenue and profitability for the first quarter of 2021 and beyond;</span></li> <li class="mylistitemclass"><span style="font-size: 10pt;">The manner of use and applicability of our intangibles, which is not expected to change; and</span></li> <li class="mylistitemclass"><span style="font-size: 10pt;">Our stock market capitalization, which is significantly greater than our net book value.</span></li> </ul> <p><span style="font-size: 10pt;">After carefully considering the factors outlined above, among others, we determined that it is more likely than not that our goodwill and intangibles were not impaired as of December 31, 2020.</span></p> 410000 23000000.0 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong>NOTE 3 – REVENUE RECOGNITION</strong></span></span></p> <div><span style="font-family: 'times new roman', times;"><strong style="font-size: 13.3333px;"><em> </em></strong></span></div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><em><strong>Performance Obligations </strong></em><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;">Our revenue <span style="font-family: 'times new roman', times;">performance obligations are primarily satisfied at a point in time and limited revenue streams are satisfied over time as work progresses.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"> The following is a summary of our revenue performance obligations:</span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></p> <div style="border-left: none; border-right: none;"> <table border="0" style="height: 94px; width: 98.9798%; border-collapse: collapse; margin-left: 0.1px; font-family: 'times new roman'; font-size: 10pt;"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: bottom; height: 17px;"><br/></td> <td style="text-align: center; vertical-align: bottom; height: 17px;"><br/></td> <td colspan="11" style="text-align: center; border-bottom: 1pt solid #000000; vertical-align: bottom; height: 17px;"><span style="font-weight: bold; font-size: 8pt;">For the Year Ended December 31,</span></td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; height: 17px;"><br/></td> <td style="text-align: center; vertical-align: bottom; height: 17px;"><br/></td> <td colspan="5" style="text-align: center; border-bottom: 1pt solid #000000; vertical-align: bottom; height: 17px;"><span style="font-weight: bold; font-size: 8pt;">2020</span></td> <td style="text-align: center; vertical-align: bottom; height: 17px;"><br/></td> <td colspan="5" style="text-align: center; border-bottom: 1pt solid #000000; vertical-align: bottom; height: 17px;"><span style="font-weight: bold; font-size: 8pt;">2019</span></td> </tr> <tr style="height: 10px;"> <td style="height: 10px; border-bottom: 1pt solid #000000; vertical-align: bottom;" valign="bottom"> <p style="text-align: left;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>(In thousands)</strong></span></p> </td> <td style="text-align: center; height: 10px; vertical-align: bottom;" valign="bottom"><br/></td> <td colspan="2" style="text-align: center; border-bottom: 1pt solid #000000; height: 10px; vertical-align: bottom;" valign="bottom"> <p><span style="font-size: 8pt; font-weight: bold;">Revenues</span><br/></p> </td> <td style="text-align: center; height: 10px; vertical-align: bottom;" valign="bottom"><br/></td> <td colspan="2" style="text-align: center; height: 10px; border-bottom: 1pt solid #000000; vertical-align: bottom;" valign="bottom"> <p><span style="font-weight: bold; font-size: 8pt;">Percent of Revenues</span><br/></p> </td> <td style="height: 10px; text-align: center; vertical-align: bottom;" valign="bottom"><br/></td> <td colspan="2" style="text-align: center; border-bottom: 1pt solid #000000; height: 10px; vertical-align: bottom;" valign="bottom"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Revenues</strong></span><br/></td> <td style="height: 10px; vertical-align: bottom;" valign="bottom"><br/></td> <td colspan="2" style="height: 10px; border-bottom: 1pt solid #000000; vertical-align: bottom;" valign="bottom"> <p style="text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">Percent of Revenues</span></strong></span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="height: 18px; background-color: #d6f3e8; width: 56%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Revenue recognized over time</span></td> <td style="background-color: #d6f3e8; height: 18px; width: 1%;"><br/></td> <td style="background-color: #d6f3e8; height: 18px; width: 2%;">$</td> <td style="background-color: #d6f3e8; height: 18px; text-align: right; width: 8%;">1,715</td> <td style="background-color: #d6f3e8; height: 18px; width: 1%;"><br/></td> <td style="background-color: #d6f3e8; height: 18px; text-align: right; width: 8%;">2</td> <td style="background-color: #d6f3e8; height: 18px; width: 2%;">%</td> <td style="height: 18px; background-color: #d6f3e8; width: 1%;"><br/></td> <td style="height: 18px; background-color: #d6f3e8; width: 2%; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></td> <td style="height: 18px; text-align: right; background-color: #d6f3e8; font-family: 'times new roman', times; font-size: 10pt; width: 8%;">2,029</td> <td style="height: 18px; background-color: #d6f3e8; width: 1%;"><br/></td> <td style="height: 18px; text-align: right; background-color: #d6f3e8; font-family: 'times new roman', times; font-size: 10pt; width: 8%;">3</td> <td style="height: 18px; background-color: #d6f3e8; width: 2%;"><span style="font-family: symbol; font-size: 10pt;">%</span></td> </tr> <tr style="height: 18px;"> <td style="height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Revenue recognized at a point in time</span></td> <td style="height: 18px;"><br/></td> <td style="border-bottom: 1pt solid #000000; height: 18px;"><br/></td> <td style="height: 18px; border-bottom: 1pt solid #000000; text-align: right;">68,402</td> <td style="height: 18px;"><br/></td> <td style="height: 18px; border-bottom: 1pt solid #000000; text-align: right;">98</td> <td style="height: 18px; border-bottom: 1pt solid #000000;">%</td> <td style="height: 18px;"><br/></td> <td style="height: 18px; text-align: left;"><br/></td> <td style="height: 18px; text-align: right; border-bottom: 1pt solid #000000; font-family: 'times new roman', times; font-size: 10pt;">57,234</td> <td style="height: 18px;"><br/></td> <td style="height: 18px; text-align: right; border-bottom: 1pt solid #000000; font-family: 'times new roman', times; font-size: 10pt;">97</td> <td style="height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">%</span></td> </tr> <tr style="height: 14px; background-color: #d6f3e8;"> <td style="height: 14px; background-color: #d6f3e8;"><br/></td> <td style="background-color: #d6f3e8; height: 14px;"><br/></td> <td style="background-color: #d6f3e8; border-bottom: 2.8pt double #000000; height: 14px;">$</td> <td style="background-color: #d6f3e8; height: 14px; border-bottom: 2.8pt double #000000; text-align: right;">70,117</td> <td style="background-color: #d6f3e8; height: 14px;"><br/></td> <td style="background-color: #d6f3e8; height: 14px; border-bottom: 2.8pt double #000000; text-align: right;">100</td> <td style="background-color: #d6f3e8; height: 14px; border-bottom: 2.8pt double #000000;">%</td> <td style="height: 14px; background-color: #d6f3e8;"><br/></td> <td style="height: 14px; background-color: #d6f3e8; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></td> <td style="height: 14px; text-align: right; border-bottom: 2.8pt double #000000; background-color: #d6f3e8; font-family: 'times new roman', times; font-size: 10pt;">59,263</td> <td style="height: 14px; background-color: #d6f3e8;"><br/></td> <td style="height: 14px; text-align: right; border-bottom: 2.8pt double #000000; background-color: #d6f3e8; font-family: 'times new roman', times; font-size: 10pt;">100</td> <td style="height: 14px; background-color: #d6f3e8; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000;"><span style="font-family: symbol; font-size: 10pt;">%</span></td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 1; margin: 0pt;"><span style="line-height: inherit;"><span class="selected" style="font-family: 'times new roman', times; line-height: inherit;">See Note 13 for additional information regarding disaggregation of revenue.</span></span></p> <p style="font-size: 10pt; line-height: 1; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 1; margin: 5pt 0pt 0pt; text-indent: 0pt;"><span style="line-height: inherit;"><span style="font-family: 'times new roman', times; font-size: 10pt; line-height: inherit;"><em><strong>Contract</strong></em></span><span style="font-family: 'times new roman', times; font-size: 10pt; line-height: inherit;"><em><strong> Balances </strong></em></span></span></p> <p style="font-size: 10pt; line-height: 1; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">Contract assets consist of unbilled amounts from sales where we recognize the revenue over time and the revenue recognized exceeds the amount billed to the customer at a point in time. Accounts and trade notes receivable are recorded when the right to payment becomes unconditional. Contract liabilities consist of payments received in advance of performance under the contract. Contract liabilities are recognized as revenue when we perform under the contract.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">The following summarizes our contract assets and contract liabilities: </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <div style="border-left: none; border-right: none;"> <div style="border-right: none; border-left: none;"> <div id="t_ft_2D4H9C065C00000000000000000000b"> <table border="0" cellpadding="0" style="width: 100%; margin-left: 0px; border-collapse: collapse; height: 66px; margin-right: 0px; text-indent: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid windowtext; padding: 0px; height: 10px; width: 68.006%;" valign="bottom"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">(In thousands)</span></b><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="padding: 0px; height: 10px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 10.0pt;"> </span></b><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td colspan="3" style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0px; height: 10px; vertical-align: bottom; width: 15.4881%;" valign="bottom"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">December 31, 2020</span></b></p> </td> <td style="padding: 0px; height: 10px; width: 0.892857%;" valign="top"/> <td colspan="3" style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0px; height: 10px; vertical-align: bottom; width: 15.4881%;" valign="bottom"> <p style="margin: 0in 0px 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: 0px;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">December 31, 2019</span></b></p> </td> </tr> <tr style="height: 20px; background-color: #d6f3e8;"> <td style="background: #d6f3e8; padding: 0px; height: 20px; width: 68.006%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Contract assets, included in other current assets </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 1%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 13%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">2 </span><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 1.4881%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 1%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 13%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> 2 </span><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 1.4881%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> </tr> <tr style="height: 20px;"> <td style="padding: 0px; height: 20px; width: 68.006%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Contract liabilities - advance customer payments </span></p> </td> <td style="padding: 0in; height: 20px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="padding: 0in; height: 20px; width: 1%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="padding: 0in; height: 20px; width: 13%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">567</span><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="padding: 0in; height: 20px; width: 1.4881%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="padding: 0in; height: 20px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';">   </span></p> </td> <td style="padding: 0in; height: 20px; width: 1%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="padding: 0in; height: 20px; width: 13%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">389</span><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="padding: 0in; height: 20px; width: 1.4881%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> </tr> <tr style="height: 16px; background-color: #d6f3e8;"> <td style="padding: 0px; height: 16px; background-color: #d6f3e8; width: 68.006%;">Contract liabilities - deferred warranty revenue</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 0.892857%;"><br/></td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 1%;">$</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; text-align: right; width: 13%;">344</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 1.4881%;"><br/></td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 0.892857%;"><br/></td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 1%;">$</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; text-align: right; width: 13%;">275</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 1.4881%;"><br/></td> </tr> </tbody> </table> </div> </div> </div> <div style="border-left: none; border-right: none;"><br/></div> <div style="border-left: none; border-right: none;"> </div> <div style="border-left: none; border-right: none;"><br/></div> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; line-height: 1.2;"><span style="font-size: 10pt; line-height: inherit;">Changes in contract assets in 2020 and 2019 resulted from unbilled amounts under sensor product arrangements and longer duration 3D scanning service projects in which revenue is recognized over time. Changes in contract liabilities primarily resulted from reclassification of beginning contract liabilities to revenue as performance obligations were satisfied or from cash received in advance and not recognized as revenue. See Note 9 for changes in contractual obligations related to deferred warranty revenue. <span style="color: #000000; line-height: inherit;">Unsatisfied performance obligations for deferred warranty revenue are generally expected to be recognized as revenue over the<span> next </span><span style="-sec-ix-hidden:Tag1049">one</span><span> t</span>o three years. There were no impairment losses for contract assets in 2020 or 2019.</span></span><span style="font-size: 10pt; line-height: inherit;"><span style="color: #000000; line-height: inherit;"><br/></span></span></p> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"><span style="color: #000000;"><br/></span></span></p> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"><span style="color: #000000;">The following summarizes the amounts reclassified from beginning contract liabilities to revenue:</span></span></p> <div id="t_ft_R0LDJ4YQLC00000000000000000000b"> <table border="0" cellpadding="0" style="width: 100%; border-collapse: collapse; height: 62px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 8px;"> <td style="width: 69.96%; padding: 0in; height: 8px;"/> <td style="width: 1.02%; padding: 0in; height: 8px;"/> <td colspan="7" style="width: 29.4199%; padding: 0in; height: 8px;"/> </tr> <tr style="height: 12px;"> <td style="width: 69.96%; padding: 0in; height: 12px;"/> <td style="width: 1.02%; padding: 0in; height: 12px;"/> <td colspan="7" style="width: 29.4199%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0in; height: 12px;"> <p style="text-align: center; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><strong><span style="font-size: 8.0pt;">Year Ended December 31,</span></strong></p> </td> </tr> <tr style="height: 7px;"> <td style="width: 69.96%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid windowtext; padding: 0in; height: 7px;" valign="bottom"> <p style="margin: 0in 0in 0in 0.2pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">(In thousands)</span></b></p> </td> <td style="width: 1.02%; padding: 0in; height: 7px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 10.0pt;"> </span></b></p> </td> <td colspan="3" style="width: 14.4599%; border-top: none; border-right: none; border-left: none; border-image: initial; padding: 0in; height: 7px; border-bottom: 1pt solid #000000;" valign="bottom"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><strong><span style="font-size: 8.0pt;">2020</span></strong></p> </td> <td style="width: 1.02%; padding: 0in; height: 7px;" valign="top"/> <td colspan="3" style="width: 13.94%; border-top: none; border-right: none; border-left: none; border-image: initial; padding: 0in; height: 7px; border-bottom: 1pt solid #000000;" valign="bottom"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">2019</span></b></p> </td> </tr> <tr style="height: 13px;"> <td style="width: 69.96%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Amounts reclassified from beginning contract liabilities to revenue </span></p> </td> <td style="width: 1.02%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="width: 1%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="width: 12%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">171 </span></p> </td> <td style="width: 1.45985%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="width: 1.02%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="width: 0.94%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="width: 12%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> 334 </span></p> </td> <td style="width: 1%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> </tr> <tr style="height: 12px;"> <td style="width: 69.96%; padding: 0in; height: 12px;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Amounts reclassified from deferred warranty revenue </span></p> </td> <td style="width: 1.02%; padding: 0in; height: 12px;"/> <td colspan="2" style="width: 13%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0in; height: 12px;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">193</span></p> </td> <td style="width: 1.45985%; padding: 0in; height: 12px;"/> <td style="width: 1.02%; padding: 0in; height: 12px;"/> <td colspan="2" style="width: 12.94%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0in; height: 12px;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">213</span></p> </td> <td style="width: 1%; padding: 0in; height: 12px;"/> </tr> <tr style="height: 10px;"> <td style="width: 69.96%; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Total </span></p> </td> <td style="width: 1.02%; background: #d6f3e8; padding: 0in; height: 10px;"/> <td style="width: 1%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 2.25pt double black; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="width: 12%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 2.25pt double black; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">364</span></p> </td> <td style="width: 1.45985%; background: #d6f3e8; padding: 0in; height: 10px;"/> <td style="width: 1.02%; background: #d6f3e8; padding: 0in; height: 10px;"/> <td style="width: 0.94%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 2.25pt double black; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="width: 12%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 2.25pt double black; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">547</span></p> </td> <td style="width: 1%; background: #d6f3e8; padding: 0in; height: 10px;"/> </tr> </tbody> </table> </div> The following is a summary of our revenue performance obligations: <table border="0" style="height: 94px; width: 98.9798%; border-collapse: collapse; margin-left: 0.1px; font-family: 'times new roman'; font-size: 10pt;"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: bottom; height: 17px;"><br/></td> <td style="text-align: center; vertical-align: bottom; height: 17px;"><br/></td> <td colspan="11" style="text-align: center; border-bottom: 1pt solid #000000; vertical-align: bottom; height: 17px;"><span style="font-weight: bold; font-size: 8pt;">For the Year Ended December 31,</span></td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; height: 17px;"><br/></td> <td style="text-align: center; vertical-align: bottom; height: 17px;"><br/></td> <td colspan="5" style="text-align: center; border-bottom: 1pt solid #000000; vertical-align: bottom; height: 17px;"><span style="font-weight: bold; font-size: 8pt;">2020</span></td> <td style="text-align: center; vertical-align: bottom; height: 17px;"><br/></td> <td colspan="5" style="text-align: center; border-bottom: 1pt solid #000000; vertical-align: bottom; height: 17px;"><span style="font-weight: bold; font-size: 8pt;">2019</span></td> </tr> <tr style="height: 10px;"> <td style="height: 10px; border-bottom: 1pt solid #000000; vertical-align: bottom;" valign="bottom"> <p style="text-align: left;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>(In thousands)</strong></span></p> </td> <td style="text-align: center; height: 10px; vertical-align: bottom;" valign="bottom"><br/></td> <td colspan="2" style="text-align: center; border-bottom: 1pt solid #000000; height: 10px; vertical-align: bottom;" valign="bottom"> <p><span style="font-size: 8pt; font-weight: bold;">Revenues</span><br/></p> </td> <td style="text-align: center; height: 10px; vertical-align: bottom;" valign="bottom"><br/></td> <td colspan="2" style="text-align: center; height: 10px; border-bottom: 1pt solid #000000; vertical-align: bottom;" valign="bottom"> <p><span style="font-weight: bold; font-size: 8pt;">Percent of Revenues</span><br/></p> </td> <td style="height: 10px; text-align: center; vertical-align: bottom;" valign="bottom"><br/></td> <td colspan="2" style="text-align: center; border-bottom: 1pt solid #000000; height: 10px; vertical-align: bottom;" valign="bottom"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Revenues</strong></span><br/></td> <td style="height: 10px; vertical-align: bottom;" valign="bottom"><br/></td> <td colspan="2" style="height: 10px; border-bottom: 1pt solid #000000; vertical-align: bottom;" valign="bottom"> <p style="text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">Percent of Revenues</span></strong></span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="height: 18px; background-color: #d6f3e8; width: 56%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Revenue recognized over time</span></td> <td style="background-color: #d6f3e8; height: 18px; width: 1%;"><br/></td> <td style="background-color: #d6f3e8; height: 18px; width: 2%;">$</td> <td style="background-color: #d6f3e8; height: 18px; text-align: right; width: 8%;">1,715</td> <td style="background-color: #d6f3e8; height: 18px; width: 1%;"><br/></td> <td style="background-color: #d6f3e8; height: 18px; text-align: right; width: 8%;">2</td> <td style="background-color: #d6f3e8; height: 18px; width: 2%;">%</td> <td style="height: 18px; background-color: #d6f3e8; width: 1%;"><br/></td> <td style="height: 18px; background-color: #d6f3e8; width: 2%; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></td> <td style="height: 18px; text-align: right; background-color: #d6f3e8; font-family: 'times new roman', times; font-size: 10pt; width: 8%;">2,029</td> <td style="height: 18px; background-color: #d6f3e8; width: 1%;"><br/></td> <td style="height: 18px; text-align: right; background-color: #d6f3e8; font-family: 'times new roman', times; font-size: 10pt; width: 8%;">3</td> <td style="height: 18px; background-color: #d6f3e8; width: 2%;"><span style="font-family: symbol; font-size: 10pt;">%</span></td> </tr> <tr style="height: 18px;"> <td style="height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Revenue recognized at a point in time</span></td> <td style="height: 18px;"><br/></td> <td style="border-bottom: 1pt solid #000000; height: 18px;"><br/></td> <td style="height: 18px; border-bottom: 1pt solid #000000; text-align: right;">68,402</td> <td style="height: 18px;"><br/></td> <td style="height: 18px; border-bottom: 1pt solid #000000; text-align: right;">98</td> <td style="height: 18px; border-bottom: 1pt solid #000000;">%</td> <td style="height: 18px;"><br/></td> <td style="height: 18px; text-align: left;"><br/></td> <td style="height: 18px; text-align: right; border-bottom: 1pt solid #000000; font-family: 'times new roman', times; font-size: 10pt;">57,234</td> <td style="height: 18px;"><br/></td> <td style="height: 18px; text-align: right; border-bottom: 1pt solid #000000; font-family: 'times new roman', times; font-size: 10pt;">97</td> <td style="height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">%</span></td> </tr> <tr style="height: 14px; background-color: #d6f3e8;"> <td style="height: 14px; background-color: #d6f3e8;"><br/></td> <td style="background-color: #d6f3e8; height: 14px;"><br/></td> <td style="background-color: #d6f3e8; border-bottom: 2.8pt double #000000; height: 14px;">$</td> <td style="background-color: #d6f3e8; height: 14px; border-bottom: 2.8pt double #000000; text-align: right;">70,117</td> <td style="background-color: #d6f3e8; height: 14px;"><br/></td> <td style="background-color: #d6f3e8; height: 14px; border-bottom: 2.8pt double #000000; text-align: right;">100</td> <td style="background-color: #d6f3e8; height: 14px; border-bottom: 2.8pt double #000000;">%</td> <td style="height: 14px; background-color: #d6f3e8;"><br/></td> <td style="height: 14px; background-color: #d6f3e8; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></td> <td style="height: 14px; text-align: right; border-bottom: 2.8pt double #000000; background-color: #d6f3e8; font-family: 'times new roman', times; font-size: 10pt;">59,263</td> <td style="height: 14px; background-color: #d6f3e8;"><br/></td> <td style="height: 14px; text-align: right; border-bottom: 2.8pt double #000000; background-color: #d6f3e8; font-family: 'times new roman', times; font-size: 10pt;">100</td> <td style="height: 14px; background-color: #d6f3e8; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000;"><span style="font-family: symbol; font-size: 10pt;">%</span></td> </tr> </tbody> </table> 1715000 0.02 2029000 0.03 68402000 0.98 57234000 0.97 70117000 1 59263000 1 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">The following summarizes our contract assets and contract liabilities: </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <div style="border-left: none; border-right: none;"> <div style="border-right: none; border-left: none;"> <div id="t_ft_2D4H9C065C00000000000000000000b"> <table border="0" cellpadding="0" style="width: 100%; margin-left: 0px; border-collapse: collapse; height: 66px; margin-right: 0px; text-indent: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid windowtext; padding: 0px; height: 10px; width: 68.006%;" valign="bottom"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">(In thousands)</span></b><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="padding: 0px; height: 10px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 10.0pt;"> </span></b><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td colspan="3" style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0px; height: 10px; vertical-align: bottom; width: 15.4881%;" valign="bottom"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">December 31, 2020</span></b></p> </td> <td style="padding: 0px; height: 10px; width: 0.892857%;" valign="top"/> <td colspan="3" style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0px; height: 10px; vertical-align: bottom; width: 15.4881%;" valign="bottom"> <p style="margin: 0in 0px 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: 0px;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">December 31, 2019</span></b></p> </td> </tr> <tr style="height: 20px; background-color: #d6f3e8;"> <td style="background: #d6f3e8; padding: 0px; height: 20px; width: 68.006%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Contract assets, included in other current assets </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 1%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 13%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">2 </span><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 1.4881%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 1%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 13%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> 2 </span><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="background: #d6f3e8; padding: 0in; height: 20px; width: 1.4881%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> </tr> <tr style="height: 20px;"> <td style="padding: 0px; height: 20px; width: 68.006%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Contract liabilities - advance customer payments </span></p> </td> <td style="padding: 0in; height: 20px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="padding: 0in; height: 20px; width: 1%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="padding: 0in; height: 20px; width: 13%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">567</span><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="padding: 0in; height: 20px; width: 1.4881%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="padding: 0in; height: 20px; width: 0.892857%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';">   </span></p> </td> <td style="padding: 0in; height: 20px; width: 1%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="padding: 0in; height: 20px; width: 13%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">389</span><span style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Times New Roman';"/></p> </td> <td style="padding: 0in; height: 20px; width: 1.4881%;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> </tr> <tr style="height: 16px; background-color: #d6f3e8;"> <td style="padding: 0px; height: 16px; background-color: #d6f3e8; width: 68.006%;">Contract liabilities - deferred warranty revenue</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 0.892857%;"><br/></td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 1%;">$</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; text-align: right; width: 13%;">344</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 1.4881%;"><br/></td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 0.892857%;"><br/></td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 1%;">$</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; text-align: right; width: 13%;">275</td> <td style="padding: 0in; height: 16px; background-color: #d6f3e8; width: 1.4881%;"><br/></td> </tr> </tbody> </table> </div> </div> </div> 2000 2000 567000 389000 344000 275000 P3Y 0 <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"><span style="color: #000000;">The following summarizes the amounts reclassified from beginning contract liabilities to revenue:</span></span></p> <div id="t_ft_R0LDJ4YQLC00000000000000000000b"> <table border="0" cellpadding="0" style="width: 100%; border-collapse: collapse; height: 62px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 8px;"> <td style="width: 69.96%; padding: 0in; height: 8px;"/> <td style="width: 1.02%; padding: 0in; height: 8px;"/> <td colspan="7" style="width: 29.4199%; padding: 0in; height: 8px;"/> </tr> <tr style="height: 12px;"> <td style="width: 69.96%; padding: 0in; height: 12px;"/> <td style="width: 1.02%; padding: 0in; height: 12px;"/> <td colspan="7" style="width: 29.4199%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0in; height: 12px;"> <p style="text-align: center; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><strong><span style="font-size: 8.0pt;">Year Ended December 31,</span></strong></p> </td> </tr> <tr style="height: 7px;"> <td style="width: 69.96%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid windowtext; padding: 0in; height: 7px;" valign="bottom"> <p style="margin: 0in 0in 0in 0.2pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">(In thousands)</span></b></p> </td> <td style="width: 1.02%; padding: 0in; height: 7px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 10.0pt;"> </span></b></p> </td> <td colspan="3" style="width: 14.4599%; border-top: none; border-right: none; border-left: none; border-image: initial; padding: 0in; height: 7px; border-bottom: 1pt solid #000000;" valign="bottom"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><strong><span style="font-size: 8.0pt;">2020</span></strong></p> </td> <td style="width: 1.02%; padding: 0in; height: 7px;" valign="top"/> <td colspan="3" style="width: 13.94%; border-top: none; border-right: none; border-left: none; border-image: initial; padding: 0in; height: 7px; border-bottom: 1pt solid #000000;" valign="bottom"> <p style="margin: 0in 0in 0.0001pt; text-align: center; font-size: 12pt; font-family: 'Times New Roman', serif;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 8.0pt;">2019</span></b></p> </td> </tr> <tr style="height: 13px;"> <td style="width: 69.96%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Amounts reclassified from beginning contract liabilities to revenue </span></p> </td> <td style="width: 1.02%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="width: 1%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="width: 12%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">171 </span></p> </td> <td style="width: 1.45985%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="width: 1.02%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: center; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> <td style="width: 0.94%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="width: 12%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> 334 </span></p> </td> <td style="width: 1%; background: #d6f3e8; padding: 0in; height: 13px;" valign="top"> <p style="margin: 0in 0in 0.0001pt; text-align: right; line-height: 11.25pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   </span></p> </td> </tr> <tr style="height: 12px;"> <td style="width: 69.96%; padding: 0in; height: 12px;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Amounts reclassified from deferred warranty revenue </span></p> </td> <td style="width: 1.02%; padding: 0in; height: 12px;"/> <td colspan="2" style="width: 13%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0in; height: 12px;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">193</span></p> </td> <td style="width: 1.45985%; padding: 0in; height: 12px;"/> <td style="width: 1.02%; padding: 0in; height: 12px;"/> <td colspan="2" style="width: 12.94%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0in; height: 12px;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">213</span></p> </td> <td style="width: 1%; padding: 0in; height: 12px;"/> </tr> <tr style="height: 10px;"> <td style="width: 69.96%; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> Total </span></p> </td> <td style="width: 1.02%; background: #d6f3e8; padding: 0in; height: 10px;"/> <td style="width: 1%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 2.25pt double black; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="width: 12%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 2.25pt double black; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">364</span></p> </td> <td style="width: 1.45985%; background: #d6f3e8; padding: 0in; height: 10px;"/> <td style="width: 1.02%; background: #d6f3e8; padding: 0in; height: 10px;"/> <td style="width: 0.94%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 2.25pt double black; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;"> $ </span></p> </td> <td style="width: 12%; border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 2.25pt double black; background: #d6f3e8; padding: 0in; height: 10px;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">547</span></p> </td> <td style="width: 1%; background: #d6f3e8; padding: 0in; height: 10px;"/> </tr> </tbody> </table> </div> 171000 334000 193000 213000 364000 547000 <p style="font-size: 10pt; line-height: 1; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span><span style="font-weight: bold;">NOTE 4</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"><span>MARKETABLE SECURITIES</span><br/></span></span></p> <p style="font-size: 10pt; line-height: 1; margin: 0pt;"><br/></p> <div style="border-right: none; border-left: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt 0pt 5pt; text-indent: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Our investments in marketable securities are classified as available-for-sale and consist of the following: </span></p> <div style="border-right: none; border-left: none;"> <div id="t_ft_D3S48P18Z400000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 255px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="15" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> December 31, 2020 </span></strong></span></p> </td> </tr> <tr style="height: 36px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Cost </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unrealized</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Gains</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unrealized</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Losses</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Fair Value </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 48%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; text-decoration: underline;"> Short-Term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,817 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 36 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,853 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,113 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 21 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,134 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 133 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; text-align: left; vertical-align: bottom; padding: 0px 0px 2px; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 134 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketable securities – short-term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,063 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 58 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 19px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,121 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; text-decoration: underline;"> Long-Term </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,529 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 66 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,595 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,975 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">61</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,035 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,347 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">45</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,392 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equity security </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 42 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(12</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketable securities – long-term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 13,893 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 172 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(13</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 19px;" valign="bottom">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,052 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> <br/> <table cellpadding="0" style="border-collapse: collapse; width: 100%; margin-left: 0.1px; height: 272px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; line-height: 1;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="15" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> December 31, 2019 </span></strong></span></p> </td> </tr> <tr style="height: 36px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Cost </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unrealized</span></span><br/><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Gains</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unrealized</span></span><br/><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Losses</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Fair Value </span></span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 48%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; text-decoration: underline;"> Short-Term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,766 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">22</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,788 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,085 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,086 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,417 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">4</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,421 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketable securities – short-term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,268 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">27</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 19px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,295 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; text-decoration: underline;"> Long-Term </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 19px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,524 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,553 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,004 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">14</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,018 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,535 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">15</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,549 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equity security </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 42 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 48 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketable securities – long-term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,105 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 65 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (2 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 19px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,168 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">    </span></p> </td> </tr> </tbody> </table> </div> </div> </div> <br/> <div style="line-height: 120%; font-size: 10pt;"> <div style="padding-left: 0px; text-indent: 0px; line-height: normal;"> <div> <table style="width: 100%; font-family: 'times new roman'; font-size: 10pt;"> <tbody> <tr> <td class="pgno" style="padding: 0px; text-align: center;"><span class="pageno" style="font-size: 10pt;">42</span></td> </tr> </tbody> </table> <hr class="horizontalLineRemoved" style="border-bottom-color: #000000; border-top-color: #000000; color: #000000; background-color: #000000;"/> <div class="pageBreak" style="page-break-before: always; font-size: 10pt; text-align: left;"><a href="#TOC">Table of Contents</a></div> </div> <table cellpadding="0" style="font-family: 'times new roman'; font-size: 10pt; border-collapse: collapse; text-align: left; width: 100%; margin-left: 0.1px; height: 234px;" width="100%"> <tbody> <tr> <td colspan="17" style="vertical-align: bottom; padding: 2px;"><br/></td> </tr> <tr style="height: 26px;"> <td style="vertical-align: bottom; padding: 2px; height: 26px;"> <div style="font-size: 8pt; text-align: right;"><br/></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 26px;"/> <td colspan="7" style="vertical-align: bottom; padding: 2px; border-bottom: 1pt solid #000000; height: 26px;"> <div style="font-size: 8pt; text-align: center;"><strong style="font-size: 8pt;"><span style="font-family: 'times new roman', times;">In Unrealized Loss Position For</span></strong><br/></div> <div style="font-size: 8pt; text-align: center;"> <div style="font-size: 8pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">Less Than 12 Months</span></strong></span></div> </div> </td> <td style="vertical-align: bottom; padding: 2px; height: 26px;"> <div style="font-size: 8pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="7" style="vertical-align: bottom; padding: 2px; border-bottom: 1pt solid #000000; height: 26px;"> <div style="font-size: 8pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span><strong><span style="font-family: 'times new roman', times;">In Unrealized Loss Position For </span></strong></div> <div style="font-size: 8pt; text-align: center;"><strong><span style="font-family: 'times new roman', times;">Greater Than 12 Months</span></strong></div> </td> </tr> <tr style="height: 39px;"> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="font-size: 8pt;"><span style="font-family: 'times new roman', times;">(In thousands)  </span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 39px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">Fair Value</span></strong></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 39px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">Gross Unrealized<br/>Losses</span></strong></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 39px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="text-align: center; font-size: 8pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 8pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Fair Value</span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 39px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="text-align: center; font-size: 8pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 8pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Gross Unrealized</span><br/><span style="color: #000000; font-family: 'times new roman', times; font-size: 8pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Losses</span></div> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 48%; background-color: #d6f3e8;"> <div style="font-size: 10pt;"><strong><span style="font-family: 'times new roman', times;">December 31, 2020</span></strong></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; width: 11%; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; width: 11%; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; width: 11%; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; width: 11%; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">U.S. government and agency obligations</span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">330</span></div> </td> <td style="vertical-align: bottom; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px;" valign="bottom"/> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;" valign="bottom"/> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">Corporate debt securities and certificates of deposit</span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">411</span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(1</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;" valign="bottom">)</td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;" valign="bottom"/> </tr> <tr style="height: 18px;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 20px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">Marketable securities</span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">741</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(1</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px; border-bottom-width: 2.8pt; border-bottom-style: double; border-bottom-color: #000000;" valign="bottom">)</td> <td style="vertical-align: bottom; padding: 2px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"/> <td style="vertical-align: bottom; padding: 2px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 18px;" valign="bottom"/> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="font-size: 10pt;"><strong><span style="font-family: 'times new roman', times;">December 31, 2019</span></strong></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 17px; background-color: #d6f3e8;" valign="bottom"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span><span style="font-family: 'times new roman', times;">U.S. government and agency obligations</span></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">149</span></div> </td> <td style="vertical-align: bottom; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(1</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px;" valign="bottom"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding: 0px 0px 2px; height: 17px;"/> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span><span style="font-family: 'times new roman', times;">Corporate debt securities and certificates of deposit</span></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">271</span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px; background-color: #d6f3e8;" valign="bottom"/> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding: 0px 0px 2px; height: 17px; background-color: #d6f3e8;"/> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span><span style="font-family: 'times new roman', times;">Asset backed securities</span></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; border-bottom: 1px solid #000000; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">684</span></div> </td> <td style="vertical-align: bottom; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; border-bottom: 1pt solid #000000; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(1</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px;" valign="bottom"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; border-bottom: 1pt solid #000000; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; border-bottom: 1pt solid #000000; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding: 0px 0px 2px; height: 17px;"/> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 20px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span><span style="font-family: 'times new roman', times;">Marketable securities</span></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 18px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">1,104</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; border-top: 1pt solid #000000; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 18px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(2</span></div> </td> <td style="padding: 0px 0px 2px; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; text-align: left; vertical-align: bottom; height: 18px; background-color: #d6f3e8;" valign="bottom"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> <td style="vertical-align: bottom; padding: 2px; height: 18px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; border-top: 1pt solid #000000; height: 18px; background-color: #d6f3e8;"/> <td style="vertical-align: bottom; padding: 2px; height: 18px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; padding: 0px 0px 2px; height: 18px; background-color: #d6f3e8;"/> </tr> </tbody> </table> </div> </div> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 10pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; font-family: 'times new roman', times;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">Our investments</span><span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"> in marketable debt securities all have maturities of <span>less than </span></span>5<span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"> years. </span>Net pre-tax unrealized <span>gains</span> for marketable debt securities of $</span>229,000<span style="font-size: 10pt; font-family: 'times new roman', times;"> at December 31, 2020<span> and $</span></span>84,000<span style="font-size: 10pt; font-family: 'times new roman', times;"> at December 31, 2019 have been recorded as a component of accumulated other comprehensive loss in stockholders’ equity. </span><span style="font-size: 10pt; font-family: 'times new roman', times;">We have determined that the net pre-tax unrealized gains and losses for marketable debt securities at <span style="border-left: none; border-right: none;">December 31, 2020</span> and December 31, 2019 were caused by fluctuations in interest rates and are temporary in nature. We review our marketable debt securities to identify and evaluate investments that have indications of possible impairment. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. No marketable securities were sold in 2020<span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"> or 2019.</span></span><span style="font-size: 10pt; font-family: 'times new roman', times;"> </span><span style="font-size: 10pt; font-family: 'times new roman', times;">See Note 6 for additional information regarding the fair value of our investments in marketable securities. </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">Investments in marketable debt securities classified as cash equivalents of $1.3 million at December 31, 2020 and $2.6 million at December 31, 2019, consist of corporate debt securities and certificates of deposit. There were no unrealized gains or losses associated with any of these securities at December 31, 2020 or December 31, 2019.  </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt 0pt 5pt; text-indent: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Our investments in marketable securities are classified as available-for-sale and consist of the following: </span></p> <div style="border-right: none; border-left: none;"> <div id="t_ft_D3S48P18Z400000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 255px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="15" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> December 31, 2020 </span></strong></span></p> </td> </tr> <tr style="height: 36px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Cost </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unrealized</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Gains</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unrealized</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Losses</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Fair Value </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 48%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; text-decoration: underline;"> Short-Term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,817 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 36 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,853 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,113 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 21 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,134 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 133 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; text-align: left; vertical-align: bottom; padding: 0px 0px 2px; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 134 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketable securities – short-term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,063 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 58 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 19px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,121 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; text-decoration: underline;"> Long-Term </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,529 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 66 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,595 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,975 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">61</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,035 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,347 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">45</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,392 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equity security </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 42 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(12</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; text-align: left; height: 18px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketable securities – long-term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 13,893 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 172 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(13</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: left; height: 19px;" valign="bottom">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,052 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> <br/> <table cellpadding="0" style="border-collapse: collapse; width: 100%; margin-left: 0.1px; height: 272px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; line-height: 1;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="15" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> December 31, 2019 </span></strong></span></p> </td> </tr> <tr style="height: 36px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Cost </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unrealized</span></span><br/><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Gains</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unrealized</span></span><br/><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Losses</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 36px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Fair Value </span></span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 48%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; text-decoration: underline;"> Short-Term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,766 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">22</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,788 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,085 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,086 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,417 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">4</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,421 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketable securities – short-term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,268 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">27</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 19px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,295 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold; text-decoration: underline;"> Long-Term </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 19px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,524 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,553 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,004 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">14</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,018 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,535 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">15</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,549 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equity security </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 42 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 48 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketable securities – long-term </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,105 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 65 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (2 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 19px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,168 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">    </span></p> </td> </tr> </tbody> </table> </div> </div> 4817000 36000 0 4853000 3113000 21000 0 3134000 133000 1000 0 134000 8063000 58000 0 8121000 7529000 66000 0 7595000 3975000 61000 1000 4035000 2347000 45000 0 2392000 42000 0 12000 30000 13893000 172000 13000 14052000 5766000 22000 0 5788000 1085000 1000 0 1086000 1417000 4000 0 1421000 8268000 27000 0 8295000 6524000 30000 1000 6553000 3004000 14000 0 3018000 2535000 15000 1000 2549000 42000 6000 0 48000 12105000 65000 2000 12168000 <div> <table style="width: 100%; font-family: 'times new roman'; font-size: 10pt;"> <tbody> <tr> <td class="pgno" style="padding: 0px; text-align: center;"><span class="pageno" style="font-size: 10pt;">42</span></td> </tr> </tbody> </table> <hr class="horizontalLineRemoved" style="border-bottom-color: #000000; border-top-color: #000000; color: #000000; background-color: #000000;"/> <div class="pageBreak" style="page-break-before: always; font-size: 10pt; text-align: left;"><a href="#TOC">Table of Contents</a></div> </div> <table cellpadding="0" style="font-family: 'times new roman'; font-size: 10pt; border-collapse: collapse; text-align: left; width: 100%; margin-left: 0.1px; height: 234px;" width="100%"> <tbody> <tr> <td colspan="17" style="vertical-align: bottom; padding: 2px;"><br/></td> </tr> <tr style="height: 26px;"> <td style="vertical-align: bottom; padding: 2px; height: 26px;"> <div style="font-size: 8pt; text-align: right;"><br/></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 26px;"/> <td colspan="7" style="vertical-align: bottom; padding: 2px; border-bottom: 1pt solid #000000; height: 26px;"> <div style="font-size: 8pt; text-align: center;"><strong style="font-size: 8pt;"><span style="font-family: 'times new roman', times;">In Unrealized Loss Position For</span></strong><br/></div> <div style="font-size: 8pt; text-align: center;"> <div style="font-size: 8pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">Less Than 12 Months</span></strong></span></div> </div> </td> <td style="vertical-align: bottom; padding: 2px; height: 26px;"> <div style="font-size: 8pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="7" style="vertical-align: bottom; padding: 2px; border-bottom: 1pt solid #000000; height: 26px;"> <div style="font-size: 8pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span><strong><span style="font-family: 'times new roman', times;">In Unrealized Loss Position For </span></strong></div> <div style="font-size: 8pt; text-align: center;"><strong><span style="font-family: 'times new roman', times;">Greater Than 12 Months</span></strong></div> </td> </tr> <tr style="height: 39px;"> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="font-size: 8pt;"><span style="font-family: 'times new roman', times;">(In thousands)  </span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 39px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">Fair Value</span></strong></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 39px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">Gross Unrealized<br/>Losses</span></strong></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 39px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="text-align: center; font-size: 8pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 8pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Fair Value</span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 39px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 2px; height: 39px;"> <div style="text-align: center; font-size: 8pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 8pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Gross Unrealized</span><br/><span style="color: #000000; font-family: 'times new roman', times; font-size: 8pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Losses</span></div> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 48%; background-color: #d6f3e8;"> <div style="font-size: 10pt;"><strong><span style="font-family: 'times new roman', times;">December 31, 2020</span></strong></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; width: 11%; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; width: 11%; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; width: 11%; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; width: 11%; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; width: 1%; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">U.S. government and agency obligations</span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">330</span></div> </td> <td style="vertical-align: bottom; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px;" valign="bottom"/> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;" valign="bottom"/> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">Corporate debt securities and certificates of deposit</span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">411</span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(1</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;" valign="bottom">)</td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;" valign="bottom"/> </tr> <tr style="height: 18px;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 20px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">Marketable securities</span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">741</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(1</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px; border-bottom-width: 2.8pt; border-bottom-style: double; border-bottom-color: #000000;" valign="bottom">)</td> <td style="vertical-align: bottom; padding: 2px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"/> <td style="vertical-align: bottom; padding: 2px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 18px;" valign="bottom"/> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="font-size: 10pt;"><strong><span style="font-family: 'times new roman', times;">December 31, 2019</span></strong></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 17px; background-color: #d6f3e8;" valign="bottom"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span><span style="font-family: 'times new roman', times;">U.S. government and agency obligations</span></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">149</span></div> </td> <td style="vertical-align: bottom; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(1</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px;" valign="bottom"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; padding-top: 2px; padding-bottom: 2px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding: 0px 0px 2px; height: 17px;"/> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span><span style="font-family: 'times new roman', times;">Corporate debt securities and certificates of deposit</span></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">271</span></div> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px; background-color: #d6f3e8;" valign="bottom"/> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding: 0px 0px 2px; height: 17px; background-color: #d6f3e8;"/> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 12px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span><span style="font-family: 'times new roman', times;">Asset backed securities</span></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; border-bottom: 1px solid #000000; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">684</span></div> </td> <td style="vertical-align: bottom; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; border-bottom: 1pt solid #000000; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(1</span></div> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 17px;" valign="bottom"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; border-bottom: 1pt solid #000000; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; height: 17px;"/> <td style="vertical-align: bottom; padding: 2px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; border-bottom: 1pt solid #000000; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; padding: 0px 0px 2px; height: 17px;"/> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="vertical-align: bottom; padding: 2px 2px 2px 20px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span><span style="font-family: 'times new roman', times;">Marketable securities</span></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 18px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">1,104</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; border-top: 1pt solid #000000; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 2px; height: 18px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">(2</span></div> </td> <td style="padding: 0px 0px 2px; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; text-align: left; vertical-align: bottom; height: 18px; background-color: #d6f3e8;" valign="bottom"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> <td style="vertical-align: bottom; padding: 2px; height: 18px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-right: 2px; padding-top: 2px; padding-bottom: 2px; border-top: 1pt solid #000000; height: 18px; background-color: #d6f3e8;"/> <td style="vertical-align: bottom; padding: 2px; height: 18px; background-color: #d6f3e8;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-left: 2px; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding-top: 2px; padding-bottom: 2px; height: 18px; background-color: #d6f3e8;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times;">—</span></div> </td> <td style="vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; padding: 0px 0px 2px; height: 18px; background-color: #d6f3e8;"/> </tr> </tbody> </table> 330000 0 0 0 411000 1000 0 0 741000 1000 0 0 149000 1000 0 0 271000 0 0 0 684000 1000 0 0 1104000 2000 0 0 P5Y 229000 84000 0 0 1300000 2600000 0 0 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="font-weight: bold;">NOTE 5</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">COMPREHENSIVE INCOME <br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; line-height: inherit;">There <span>were no r</span>eclassification adjustments in 2020 or 2019. </span><span style="font-size: 10pt;">Changes in components of comprehensive income and taxes related to items of other comprehensive income are as follows:</span></p> <div style="border-right: none; border-left: none;"> <table cellpadding="0" style="border-collapse: collapse; margin: 0px auto; width: 99.6%; height: 82px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 38.4844%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-size: 8pt;"/></span><br/></p> </td> <td colspan="11" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; width: 30.8351%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"><span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Year Ended </span>December 31, 2020</span></strong></span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.48588%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td colspan="11" style="border-bottom: 0.75pt solid #000000; padding: 2px; vertical-align: bottom; width: 29.8633%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> Year Ended December 31, 2019 </span></strong></span></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 38.4844%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9.48588%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Before Tax</span></span></p> </td> <td style="padding: 2px; vertical-align: bottom; width: 1.18871%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9.48588%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Tax Effect </span></span></p> </td> <td style="padding: 2px; vertical-align: bottom; width: 1.18871%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9.48588%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Net of Tax<br/>Amount</span></span></p> </td> <td style="padding: 2px; vertical-align: bottom; width: 1.48588%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Before Tax </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.18871%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9.48588%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Tax Effect </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.18871%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 2px; vertical-align: bottom; width: 9%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Net of Tax<br/>Amount</span></span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 38.4844%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign currency translation adjustments </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">190</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">190</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td style="border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></span></p> </td> <td style="border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">174</span></span></p> </td> <td style="border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></span></p> </td> <td style="vertical-align: bottom; padding: 0px; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">174</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"/> </tr> <tr style="height: 18px;"> <td style="padding: 0pt 1.5pt 1.5pt 0pt; width: 38.4844%; height: 18px; vertical-align: bottom;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Unrealized gains on available-for-sale securities</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-size: 10pt; font-family: 'times new roman', times;">145</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: left; width: 1.48588%; height: 18px; border-bottom: 1pt solid #000000;" valign="bottom"> <p style="margin: 0pt;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; text-align: right; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">(31</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; border-bottom: 1pt solid #000000;">)</td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; text-align: right; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt;"><span><span style="font-size: 10pt; font-family: 'times new roman', times;">114</span></span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; border-bottom: 1pt solid #000000;" valign="bottom"> <p style="margin: 0pt;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> 138 </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">(28</span></span></p> </td> <td style="vertical-align: bottom; padding: 0px; width: 1.48588%; height: 18px; border-bottom: 1pt solid #000000;">)</td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">110</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; border-bottom: 1pt solid #000000;"/> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 38.4844%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other comprehensive income </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">335</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(31</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1.48588%; height: 18px; background-color: #d6f3e8;">)</td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">304</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">312</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(28</span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; padding: 0px; width: 1.48588%; height: 18px; background-color: #d6f3e8;"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">284</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"/> </tr> </tbody> </table> </div> <p style="margin: 0pt;"><br/></p> <div style="border-right: none; border-left: none;"> <div> <div style="border-right: none; border-left: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">At <span style="border-left: none; border-right: none;">December 31, 2020 and</span> December 31, 2019 components of accumulated other comprehensive loss is as follows:</span><br/></p> <div style="border-right: none; border-left: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0px; width: 99.946%; height: 136px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; width: 48%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.52672%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.48148%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.48148%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 27px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 48%; height: 27px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 27px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.5267%; height: 27px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Foreign</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Currency</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Translation</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Adjustments</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 27px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4815%; height: 27px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Available-</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">for-Sale</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Securities</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 27px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4815%; height: 27px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Accumulated</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Other</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Comprehensive</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Loss</span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balances at December 31, 2018 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,649 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (41 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,690 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other comprehensive income for the year ended December 31, 2019</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">174</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">110</span></p> </td> <td style="padding: 2px 2px 2px 0px; width: 1.48148%; margin-left: 0.1px; vertical-align: bottom; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">284</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balances at December 31, 2019 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,475 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">69</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,406 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> )  </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">Other comprehensive income for the year ended December 31, 2020</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">190</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">114</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">304</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> </tr> <tr style="height: 19px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Balances at </span>December 31, 2020</span><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">$</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,285</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">183</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 19px; background-color: #d6f3e8;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,102</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 19px; background-color: #d6f3e8; border-bottom-width: 2.8pt; border-bottom-style: double; border-bottom-color: #000000;"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> </tr> </tbody> </table> </div> </div> </div> </div> 0 0 <div style="border-right: none; border-left: none;"> <table cellpadding="0" style="border-collapse: collapse; margin: 0px auto; width: 99.6%; height: 82px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 38.4844%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-size: 8pt;"/></span><br/></p> </td> <td colspan="11" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; width: 30.8351%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"><span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Year Ended </span>December 31, 2020</span></strong></span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.48588%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td colspan="11" style="border-bottom: 0.75pt solid #000000; padding: 2px; vertical-align: bottom; width: 29.8633%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> Year Ended December 31, 2019 </span></strong></span></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 38.4844%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9.48588%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Before Tax</span></span></p> </td> <td style="padding: 2px; vertical-align: bottom; width: 1.18871%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9.48588%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Tax Effect </span></span></p> </td> <td style="padding: 2px; vertical-align: bottom; width: 1.18871%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9.48588%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Net of Tax<br/>Amount</span></span></p> </td> <td style="padding: 2px; vertical-align: bottom; width: 1.48588%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Before Tax </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.18871%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 9.48588%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Tax Effect </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.18871%; height: 10px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 2px; vertical-align: bottom; width: 9%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Net of Tax<br/>Amount</span></span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 38.4844%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign currency translation adjustments </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">190</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">190</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td style="border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></span></p> </td> <td style="border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">174</span></span></p> </td> <td style="border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></span></p> </td> <td style="vertical-align: bottom; padding: 0px; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">174</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"/> </tr> <tr style="height: 18px;"> <td style="padding: 0pt 1.5pt 1.5pt 0pt; width: 38.4844%; height: 18px; vertical-align: bottom;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Unrealized gains on available-for-sale securities</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-size: 10pt; font-family: 'times new roman', times;">145</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: left; width: 1.48588%; height: 18px; border-bottom: 1pt solid #000000;" valign="bottom"> <p style="margin: 0pt;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; text-align: right; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">(31</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; border-bottom: 1pt solid #000000;">)</td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; text-align: right; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt;"><span><span style="font-size: 10pt; font-family: 'times new roman', times;">114</span></span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; border-bottom: 1pt solid #000000;" valign="bottom"> <p style="margin: 0pt;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> 138 </span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">(28</span></span></p> </td> <td style="vertical-align: bottom; padding: 0px; width: 1.48588%; height: 18px; border-bottom: 1pt solid #000000;">)</td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; width: 8%; height: 18px; border-bottom: 1pt solid #000000;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">110</span></span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 1%; height: 18px; border-bottom: 1pt solid #000000;"/> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 38.4844%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other comprehensive income </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.3373%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">335</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(31</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1.48588%; height: 18px; background-color: #d6f3e8;">)</td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">304</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; width: 1.48588%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.48588%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">312</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"/> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(28</span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; padding: 0px; width: 1.48588%; height: 18px; background-color: #d6f3e8;"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> <td style="padding: 0px; vertical-align: bottom; width: 1.18871%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 7%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">284</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"/> </tr> </tbody> </table> </div> 190000 0 190000 174000 0 174000 145000 31000 114000 138000 28000 110000 335000 31000 304000 312000 28000 284000 <div> <div style="border-right: none; border-left: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">At <span style="border-left: none; border-right: none;">December 31, 2020 and</span> December 31, 2019 components of accumulated other comprehensive loss is as follows:</span><br/></p> <div style="border-right: none; border-left: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0px; width: 99.946%; height: 136px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; width: 48%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.52672%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.48148%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.48148%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 27px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 48%; height: 27px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 27px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.5267%; height: 27px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Foreign</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Currency</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Translation</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Adjustments</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 27px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4815%; height: 27px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Available-</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">for-Sale</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Securities</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 27px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4815%; height: 27px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Accumulated</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Other</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Comprehensive</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Loss</span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balances at December 31, 2018 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,649 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (41 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,690 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other comprehensive income for the year ended December 31, 2019</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">174</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">110</span></p> </td> <td style="padding: 2px 2px 2px 0px; width: 1.48148%; margin-left: 0.1px; vertical-align: bottom; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">284</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balances at December 31, 2019 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,475 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">69</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,406 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; background-color: #d6f3e8; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> )  </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;">Other comprehensive income for the year ended December 31, 2020</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">190</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">114</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">304</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 18px; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> </tr> <tr style="height: 19px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 48%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Balances at </span>December 31, 2020</span><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">$</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,285</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.52672%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">183</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 19px; background-color: #d6f3e8;"/> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,102</span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.48148%; height: 19px; background-color: #d6f3e8; border-bottom-width: 2.8pt; border-bottom-style: double; border-bottom-color: #000000;"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> </tr> </tbody> </table> </div> </div> </div> -1649000 -41000 -1690000 174000 110000 284000 -1475000 69000 -1406000 190000 114000 304000 -1285000 183000 -1102000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span><span style="font-weight: bold;">NOTE 6</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"><span>FAIR VALUE MEASUREMENTS</span><br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">We determine the fair value of our assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Valuation techniques used to measure fair value maximize the use of observable inputs and minimize the use of unobservable inputs. We use a fair value hierarchy with three levels of inputs, of which the first two are considered observable and the last is considered unobservable, to measure fair value. The fair value hierarchy gives the highest priority to quoted prices in active markets for identical assets or liabilities (Level <span style="border-left: none; border-right: none;">1</span>). The next highest priority is based on quoted prices for similar assets or liabilities in active markets or quoted prices for identical or similar assets or liabilities in non-active markets or other observable inputs (Level <span style="border-left: none; border-right: none;">2</span>). The lowest priority is given to unobservable inputs (Level <span style="border-left: none; border-right: none;">3</span>). The following provides information regarding fair value measurements for our marketable securities as of December 31, 2020 and December 31, 2019 according to the three-level fair value hierarchy.</span></p> <div><br/></div> <div> <table cellpadding="0" style="border-collapse: collapse; width: 99%; margin-left: 0.1px; font-family: 'times new roman'; font-size: 10pt; height: 172px;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 45.5904%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="15" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 52.5202%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">Fair Value Measurements at</span><span style="font-weight: bold;"> </span></span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">December 31, 2020 Using</span></p> </td> </tr> <tr style="height: 59px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 45.5904%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%; height: 59px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Balance</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">December 31, 2020</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%; height: 59px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Quoted Prices</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">in Active</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Markets for</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Identical</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Assets</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">1</span>)</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4948%; height: 59px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Significant</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Other Observable Inputs</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">2</span>)</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.1958%; height: 59px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Significant</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unobservable Inputs</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">3</span>)</span></span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> Marketable securities: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,448 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,448 </span></p> </td> <td style="vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,169 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,169 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,526 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,526 </span></p> </td> <td style="vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equity security </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 45.5904%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total marketable securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 22,173 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 22,143 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.49477%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.19581%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> <div> <table cellpadding="0" style="border-collapse: collapse; width: 99%; margin-left: 0.1px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr> <td style="padding: 1.5pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="15" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 52.2212%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Fair Value Measurements at</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>December 31, 2019</strong><span style="font-weight: bold;"> Using</span></span></p> </td> </tr> <tr> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Balance</strong></span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">December 31, 2019</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Quoted Prices</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">in Active</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Markets for</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Identical</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Assets</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">1</span>)</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Significant</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Other Observable Inputs</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">2</span>)</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4948%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Significant</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unobservable Inputs</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">3</span>)</span></span></p> </td> </tr> <tr> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> Marketable securities: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,341 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,341 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,104 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,104 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,970 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,970 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equity security </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 48 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 48 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="padding: 1.5pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total marketable securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 20,463 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 48 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 20,415 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">During 2020 and 2019, we owned no Level 3 securities and there were no transfers within the three level hierarchy. A significant transfer is recognized when the inputs used to value a security have been changed which merit a transfer between the levels of the valuation hierarchy.<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The fair value for our U.S. government and agency obligations, corporate debt securities and certificates of deposit and asset backed securities are determined based on valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The fair value for our equity security is based on a quoted market price obtained from an active market. The carrying amounts of financial instruments included in cash equivalents approximate their related fair values due to the short-term maturities of those instruments. <span style="color: #333333; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;"><span style="color: #000000;">See Note 4 for additional information regarding our investments in marketable securities</span>. </span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Non-financial assets such as equipment and leasehold improvements, goodwill and intangible assets and right-of-use assets for operating leases are subject to non-recurring fair value measurements if they are deemed impaired. We had<span> </span></span>no<span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span> </span>re-measurements of non-financial assets to fair value in<span> </span></span><span style="border-left: none; border-right: none;">2020</span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span> </span>or<span> </span></span><span style="border-left: none; border-right: none;">2019</span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">.</span><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><br/></span></span></p> <div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial. If measured at fair value in the financial statements, these financial instruments would be classified as Level 3 in the fair value hierarchy.</span></p> The following provides information regarding fair value measurements for our marketable securities as of December 31, 2020 and December 31, 2019 according to the three-level fair value hierarchy. <div> <table cellpadding="0" style="border-collapse: collapse; width: 99%; margin-left: 0.1px; font-family: 'times new roman'; font-size: 10pt; height: 172px;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 45.5904%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="15" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 52.5202%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">Fair Value Measurements at</span><span style="font-weight: bold;"> </span></span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">December 31, 2020 Using</span></p> </td> </tr> <tr style="height: 59px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 45.5904%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%; height: 59px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Balance</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">December 31, 2020</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%; height: 59px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Quoted Prices</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">in Active</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Markets for</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Identical</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Assets</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">1</span>)</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4948%; height: 59px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Significant</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Other Observable Inputs</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">2</span>)</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 59px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.1958%; height: 59px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Significant</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unobservable Inputs</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">3</span>)</span></span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> Marketable securities: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,448 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,448 </span></p> </td> <td style="vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,169 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,169 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,526 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,526 </span></p> </td> <td style="vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equity security </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.49477%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.19581%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 45.5904%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total marketable securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 22,173 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 22,143 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.49477%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.19581%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> <div> <table cellpadding="0" style="border-collapse: collapse; width: 99%; margin-left: 0.1px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr> <td style="padding: 1.5pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="15" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 52.2212%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Fair Value Measurements at</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>December 31, 2019</strong><span style="font-weight: bold;"> Using</span></span></p> </td> </tr> <tr> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Balance</strong></span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">December 31, 2019</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Quoted Prices</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">in Active</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Markets for</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Identical</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Assets</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">1</span>)</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.8969%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Significant</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Other Observable Inputs</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">2</span>)</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4948%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Significant</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Unobservable Inputs</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="font-weight: bold;">(Level</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="border-left: none; border-right: none;">3</span>)</span></span></p> </td> </tr> <tr> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> Marketable securities: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. government and agency obligations </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,341 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,341 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Corporate debt securities and certificates of deposit </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,104 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,104 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asset backed securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,970 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,970 </span></p> </td> <td style="vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equity security </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 48 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 48 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr> <td style="padding: 1.5pt; vertical-align: bottom; width: 45.5904%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total marketable securities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 20,463 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 48 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 20,415 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 0.896861%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.34529%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.49477%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> 12448000 0 12448000 0 7169000 0 7169000 0 2526000 0 2526000 0 30000 30000 0 0 22173000 30000 22143000 0 12341000 0 12341000 0 4104000 0 4104000 0 3970000 0 3970000 0 48000 48000 0 0 20463000 48000 20415000 0 0 0 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><span style="font-weight: bold;">NOTE 7</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;"><span style="font-size: 13.3333px;">SHARE-BASED COMPENSATION</span><br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">We have <span>three</span> share-based compensation plans that are administered by the Compensation Committee of the Board of Directors. We have (a) an Employee Stock Incentive Plan for officers, other employees, consultants and independent contractors under which we have granted options and restricted stock units to officers and other employees, (b) an Employee Stock Purchase Plan under which shares of our common stock may be acquired by employees at discounted prices, and (c) a Non-Employee Director Stock Plan that provides for automatic grants of restricted shares of our common stock to non-employee directors. New shares of our common stock are issued upon stock option exercises, vesting of restricted stock units, issuances of shares to board members and issuances of shares under the Employee Stock Purchase Plan.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Employee Stock Incentive Plan</span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">As of December 31, 2020, there <span>are </span>124,501<span><span><span> shares</span> </span>of</span> common stock reserved in the aggregate for issuance pursuant to future awards under our Employee Stock Incentive Plan and 471,554 shares of common stock reserved in the aggregate for issuance pursuant to outstanding awards under such plan. Although our Compensation Committee has authority to issue options, restricted stock, restricted stock units, share grants and other share-based benefits under our Employee Stock Incentive Plan, to date only restricted stock units and stock options have been granted under the plan. Options have been granted at an option price per share equal to the market value of our common stock on the date of grant, vest over a four year period and expire seven years after the date of grant. Restricted stock units vest over a four year period and entitle the holders to one share of our common stock for each restricted stock unit. Reserved shares underlying outstanding awards, including options and restricted stock units, that are forfeited are available under the Employee Stock Incentive Plan for future grant.</span><br/><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong>Non-Employee Director Stock Plan</strong></span><br/><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; font-weight: bold;"><span style="color: #000000; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box; font-family: 'times new roman', times; font-size: 10pt;">As of December 31, 2020, there were </span><span style="font-family: 'times new roman', times;">44,000</span><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box; font-family: 'times new roman', times;"><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box; font-size: 10pt;"> shares of common stock reserved in the aggregate for issuance pursuant to future restricted share grants under our Non-Employee Director Stock Plan and 12,000 shares of common stock reserved in the aggregate for issuance pursuant to outstanding stock option awards under our Non-Employee Director Stock Plan (which previously authorized the granting of stock options to non-employee directors). </span></span></span></span><span style="font-size: 10pt; font-weight: bold;"><span style="color: #000000; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Under the terms of the plan, each non-employee director receives annual restricted share grants of 2,000 shares of our common stock on the date of each annual meeting at which such director is elected to serve on the board</span></span><span style="font-size: 10pt; font-weight: bold;"><span style="color: #000000; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">. The <span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">annual restricted share grants of common stock vest in <span>four</span> equal quarterly installments during the year after the grant date, provided the non-employee director is still serving as a director on the applicable vesting date.</span> </span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">On the dates <span>of our </span>2020</span><span><span style="font-size: 10pt;"> an<span>d </span>2019 annual meetings, we issued </span><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box;">8,000</span></span><span style="font-size: 10pt;"><span> sh</span>ares of our common stock to our non-employee directors, which were restricted as specified in the Non-Employee Director Stock Plan. The shares granted at the 2020 annual meeting had an aggregate fair market value on the <span>date of grant equal to $</span></span><span><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box;">227,000</span><span style="font-size: 10pt;"> (grant date fair value of $</span></span>28.34<span style="font-size: 10pt;"><span> per </span>share). As of December 31, 2020, 4,000 of these shares were vested. <span>The aggregate fair value of the </span>4,000<span> unvested shares b</span>ased on the closing price of our common stock on December 31, 2020 was $91,000. The shares granted at the 2</span></span><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box; font-family: 'times new roman', times; font-size: 10pt; color: #000000;">019 annual meeting</span><span style="font-family: 'times new roman', times;"> had an aggregate fair market value on the date of grant eq<span>ual t<span>o $</span></span>138,000<span> (grant date fair value of $</span>17.26<span><span> </span>per shar</span>e). As of December 31, 2020, all of the shares granted at the 2019 annual meeting were vested.</span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box; font-family: 'times new roman', times; font-size: 10pt; color: #000000;"><strong>Stock Option Activity </strong><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">The following is a summary of activity in stock options for 2020:<br/></span></p> <div style="border-right: none; border-left: none;"> <div id="t_ft_OMFNWY73LS00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 168px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; height: 17px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 15.0046%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 14.9131%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 32px; margin-left: 0.1px;"> <td style="padding: 1.5pt 2px 2px; vertical-align: bottom; height: 32px; width: 64.9588%;"><br/></td> <td style="padding: 1.5pt 2px 2px; vertical-align: bottom; height: 32px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt 2px 2px; vertical-align: bottom; height: 32px; width: 16.011%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Options Outstanding </span></p> </td> <td style="padding: 1.5pt 2px 2px; vertical-align: bottom; height: 32px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 0px 2px 2px; vertical-align: bottom; height: 32px; width: 16.8344%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Weighted Average Exercise</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Price Per Share</span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 64.9588%; height: 17px;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Outstanding, December 31, 2019 </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.0064%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15.0046%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 520,513 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.0064%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.0064%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.0064%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 14.9131%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12.25 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.914913%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Granted </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; width: 15.0046%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 38,150 </span></p> </td> <td style="vertical-align: bottom; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; width: 15.9195%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 28.32 </span></p> </td> <td style="vertical-align: bottom; height: 17px; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 14px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 14px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Exercised </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 14px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 14px; border-bottom: 1pt solid #000000; width: 15.0046%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="border-left: none; border-right: none;">(139,563</span></span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; margin-left: 0.1px; vertical-align: bottom; height: 14px; border-bottom: 1pt solid #000000; width: 1.0064%;" valign="bottom">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 14px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 14px; border-bottom: 1pt solid #000000; width: 15.9195%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7.71 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 14px; border-bottom: 1pt solid #000000; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Outstanding, December 31, 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 15.0046%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 419,100 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 14.9131%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15.22 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Exercisable, December 31, 2020 </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 15.0046%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 294,026 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 14.9131%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 13.01 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <div><br/></div> <div> <div> </div> <br/></div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">The intrinsic value of an option is the amount by which the market price of the underlying common stock exceeds the option's exercise price. For options outstanding at </span>December 31, 2020<span style="font-size: 10pt; font-family: 'times new roman', times;">, the weighted average remaining contractual term of all outstanding options was </span>3.65<span style="font-size: 10pt; font-family: 'times new roman', times;"> years and their aggregate intrinsic value was $</span>3.5<span style="font-size: 10pt;"> million. At </span>December 31, 2020<span style="font-size: 10pt; font-family: 'times new roman', times;">, the weighted average remaining contractual term of options that were exercisable was </span><span><span style="border-left: none; border-right: none;">2.74</span></span><span style="font-size: 10pt; font-family: 'times new roman', times;"><span> years </span>and their aggregate intrinsic value was $</span>3.0<span style="font-size: 10pt; font-family: 'times new roman', times;"> million. The aggregate intrinsic value of stock options exercised was $2.7 million </span><span style="font-size: 10pt;">in </span>2020<span style="font-size: 10pt; font-family: 'times new roman', times;"> and <span>$359,000</span> </span><span style="font-size: 10pt; font-family: 'times new roman', times;">in </span>2019<span style="border-left: none; border-right: none;">. </span><span style="font-size: 10pt; font-family: 'times new roman', times;">We received proceeds from stock option exer<span style="font-family: 'times new roman', times; font-size: 10pt;">cises of $</span>358,000 in <span style="border-left: none; border-right: none; font-size: 10pt; font-family: 'times new roman', times;">2020 and</span> $248,000 in <span style="border-left: none; border-right: none; font-size: 10pt; font-family: 'times new roman', times;">2019</span>. The aggregate fair value of options that vested was $456,000 in 2020 and $439,000 in 2019.  No stock options expired or were forfeited in 2020.</span></span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The fair value of stock options granted to our employees was estimated on the date of grant using the Black-Scholes model. The Black-Scholes valuation model incorporates ranges of assumptions that are disclosed in the table below. The risk-free interest rate is based on the United States Treasury yield curve at the time of grant with a remaining term equal to the expected life of the awards. We used historical experience to estimate the expected term, representing the length of time in years, that the options are expected to be outstanding. Expected volatility was computed based on historical fluctuations in the daily price of our common stock.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">For stock options granted in the two-year period ended December 31, 2020, we utilized the fair value of our common stock on the date of grant and employed the following key assumptions in computing fair value using the Black-Scholes option-pricing model:</span></p> <div style="border-right: none; border-left: none;"> <div id="t_ft_F6VGE1AG3K00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 100px;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="vertical-align: middle; width: 62.3512%; height: 10px;"><br/></td> <td style="vertical-align: middle; width: 5.05952%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 3.27381%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 3.42262%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 3.42262%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 3.42262%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.93452%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 16.9643%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> </tr> <tr style="height: 15px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="5" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">2020</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> <span style="border-left: none; border-right: none;">2019</span> </span></p> </td> </tr> <tr style="height: 15px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Risk-free interest rates </span></p> </td> <td colspan="5" style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.44% - 0.50%</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1.67% - 1.69% </span></p> </td> </tr> <tr style="height: 15px;"> <td style="padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Expected life in years </span></p> </td> <td colspan="5" style="padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5.12 -<span> 5.55 </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5.00 - <span>5.40 </span></span></p> </td> </tr> <tr style="height: 15px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Expected volatility </span></p> </td> <td colspan="5" style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 59.43% - 59.81%</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 54.38% - 54.87% </span></p> </td> </tr> <tr style="height: 15px;"> <td style="padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Dividend yield </span></p> </td> <td colspan="5" style="padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.00%</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.00% </span></p> </td> </tr> <tr style="height: 15px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Weighted average fair value on grant date </span></p> </td> <td colspan="5" style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$14.58</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $7.96 </span></p> </td> </tr> </tbody> </table> </div> </div> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;"> </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Restricted Shares and Restricted Stock Units </span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;"> </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">Restricted shares are granted under our Non-Employee Director Stock Plan. Restricted stock units are granted under our Employee Stock Incentive Plan. The fair value of restricted shares and restricted stock units is equal to the market value of our common stock on the date of grant. There were 30,700 restricted shares and restricted stock units granted in <span style="border-left: none; border-right: none;">2020</span> (weighted average grant date fair value of $28.33 each). There were 39,550 restricted shares and restricted stock units granted in <span style="border-left: none; border-right: none;">2019</span> (weighted average grant date fair value of <span><span>$</span></span>16.44 each). The aggregate fair value of outstanding restricted shares and restricted stock units based on the closing share price of our common stock as of December 31, 2020 w<span class="selected">as<span> $1.6 million. </span>T</span>he aggregate fair value of restricted shares and stock units that vested, based on the closing share price of our common stock on the vesting date, was $857,000 in 2020 and $458,000 in 2019. No restricted shares or restricted stock units expired or were forfeited in 2020.</span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">The following is a summary of activity in restricted shares and restricted stock units for 2020:</span></p> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 7pt;"> </p> <div style="border-right: none; border-left: none;"> <div id="t_ft_9TXP1VGAN400000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 93px;" width="100%"> <tbody> <tr style="height: 29px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 64.1369%; height: 29px;"> <p style="margin: 0pt;"><strong><span style="font-size: 8pt; font-family: 'times new roman', times;"> Non-vested restricted stock units </span></strong></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 29px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 16%; height: 29px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Shares </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 29px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 17.4881%; height: 29px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Weighted Average Grant Date</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Fair Value</span></p> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 64.1369%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Non-vested at December 31, 2019 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 68,204 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 17.39 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 64.1369%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Granted </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30,700 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 16%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 28.33 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 64.1369%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Vested </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 17px; border-bottom: 1pt solid #000000; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="border-left: none; border-right: none;">(30,450</span></span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 1%; margin-left: 0.1px; vertical-align: middle; height: 17px; border-bottom: 1pt solid #000000; background-color: #d6f3e8;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 16%; height: 17px; border-bottom: 1pt solid #000000; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 19.29 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 17px; border-bottom: 1pt solid #000000; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 13px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 64.1369%; height: 13px;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Non-vested at December 31, 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 13px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 68,454 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1%; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 13px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 21.45 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 13px; border-bottom: 2.8pt double #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"><span>Employee Stock Purchase Plan</span><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; font-family: 'times new roman', times;"><span style="font-family: 'times new roman', times; font-size: 10pt;">We have an Employee Stock Purchase Plan available to eligible U.S. employees. Under terms of the plan, eligible employees may designate from </span>1<span style="font-family: 'times new roman', times; font-size: 10pt;">% to </span>10<span style="font-family: 'times new roman', times; font-size: 10pt;">% of their compensation to be withheld through payroll deductions, up to a maximum of $</span>6,500<span style="font-family: 'times new roman', times; font-size: 10pt;"> in each plan year, for the purchase of common stock at </span>85<span style="font-family: 'times new roman', times; font-size: 10pt;">% of the lower of the market price on the first or last day of the offering period. Purchases under this plan were 19,897 shares in 2020 and 17,781 shares in 2019</span><span style="font-family: 'times new roman', times; font-size: 10pt;">. As of December 31, 2020, </span>136,791<span style="font-family: 'times new roman', times; font-size: 10pt;"> shares remain available for future issuance under this plan.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Share-Based Compensation Information<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">Pre-tax share-based compensation expense for <span style="border-left: none; border-right: none;">2020</span> includes $876,000 for stock options and restricted stock units, $111,000 for our employee stock purchase plan, and $194,000 for restricted shares issued to board members. Pre-tax share-based compensation expense for <span style="border-left: none; border-right: none;">2019</span> includes $751,000 for stock options and restricted stock units, $107,000 for our employee stock purchase plan, and $133,000 for restricted shares issued to board members.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><br/></span></p> <div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><br/></span></p> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 68px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; width: 75%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">   </span></p> </td> <td colspan="2" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> <span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">2020</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> <span style="border-left: none; border-right: none;">2019</span> </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Pre-tax share-based compensation expense </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,181</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 991 </span></p> </td> <td style="background-color: #d6f3e8; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Income tax benefits related to share-based compensation </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">712</span></p> </td> <td style="padding: 2px 2px 2px 0px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 211 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> <div><br/></div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">At December 31, 2020, the total unrecognized compensation cost related to non-vested share-based compensation arrangements was $2.7 million and the related weighted average period over which such cost is expected to be recognize<span>d is 2.9 ye</span>ars. </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">In 2020, we recognized a $717,000 income tax benefit from the exercise of stock options and vesting of share-based payments, including $497,000 of excess tax benefits. In 2019, we recognized a $165,000 income tax benefit from the exercise of stock options and vesting of share-based payments, including $42,000 of excess tax benefits. </span></p> 3 124501 471554 P4Y P7Y P4Y 1 44000 12000 2000 4 8000 8000 227000 28.34 4000 4000 91000 138000 17.26 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">The following is a summary of activity in stock options for 2020:<br/></span></p> <div style="border-right: none; border-left: none;"> <div id="t_ft_OMFNWY73LS00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 168px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; height: 17px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 15.0046%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 14.9131%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 32px; margin-left: 0.1px;"> <td style="padding: 1.5pt 2px 2px; vertical-align: bottom; height: 32px; width: 64.9588%;"><br/></td> <td style="padding: 1.5pt 2px 2px; vertical-align: bottom; height: 32px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt 2px 2px; vertical-align: bottom; height: 32px; width: 16.011%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Options Outstanding </span></p> </td> <td style="padding: 1.5pt 2px 2px; vertical-align: bottom; height: 32px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 0px 2px 2px; vertical-align: bottom; height: 32px; width: 16.8344%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Weighted Average Exercise</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Price Per Share</span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 64.9588%; height: 17px;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Outstanding, December 31, 2019 </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.0064%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15.0046%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 520,513 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.0064%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.0064%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.0064%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 14.9131%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12.25 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.914913%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Granted </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; width: 15.0046%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 38,150 </span></p> </td> <td style="vertical-align: bottom; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; width: 15.9195%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 28.32 </span></p> </td> <td style="vertical-align: bottom; height: 17px; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 14px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 14px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Exercised </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 14px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 14px; border-bottom: 1pt solid #000000; width: 15.0046%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="border-left: none; border-right: none;">(139,563</span></span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; margin-left: 0.1px; vertical-align: bottom; height: 14px; border-bottom: 1pt solid #000000; width: 1.0064%;" valign="bottom">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 14px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 14px; border-bottom: 1pt solid #000000; width: 15.9195%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7.71 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 14px; border-bottom: 1pt solid #000000; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Outstanding, December 31, 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 15.0046%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 419,100 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 14.9131%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15.22 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px; width: 64.9588%;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Exercisable, December 31, 2020 </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 15.0046%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 294,026 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 1.0064%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 14.9131%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 13.01 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 0.914913%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> 520513 12.25 38150 28.32 139563 7.71 419100 15.22 294026 13.01 P3Y7M24D 3500000 P2Y8M26D 3000000.0 2700000 359000 358000 248000 456000 439000 0 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">For stock options granted in the two-year period ended December 31, 2020, we utilized the fair value of our common stock on the date of grant and employed the following key assumptions in computing fair value using the Black-Scholes option-pricing model:</span></p> <div style="border-right: none; border-left: none;"> <div id="t_ft_F6VGE1AG3K00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 100px;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="vertical-align: middle; width: 62.3512%; height: 10px;"><br/></td> <td style="vertical-align: middle; width: 5.05952%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 3.27381%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 3.42262%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 3.42262%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 3.42262%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.93452%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> <td style="vertical-align: middle; width: 16.9643%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 7pt;">   </span></p> </td> </tr> <tr style="height: 15px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="5" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">2020</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> <span style="border-left: none; border-right: none;">2019</span> </span></p> </td> </tr> <tr style="height: 15px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Risk-free interest rates </span></p> </td> <td colspan="5" style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.44% - 0.50%</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1.67% - 1.69% </span></p> </td> </tr> <tr style="height: 15px;"> <td style="padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Expected life in years </span></p> </td> <td colspan="5" style="padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5.12 -<span> 5.55 </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5.00 - <span>5.40 </span></span></p> </td> </tr> <tr style="height: 15px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Expected volatility </span></p> </td> <td colspan="5" style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 59.43% - 59.81%</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 54.38% - 54.87% </span></p> </td> </tr> <tr style="height: 15px;"> <td style="padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Dividend yield </span></p> </td> <td colspan="5" style="padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.00%</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.00% </span></p> </td> </tr> <tr style="height: 15px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 62.3512%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Weighted average fair value on grant date </span></p> </td> <td colspan="5" style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 18.6012%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$14.58</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.93452%; height: 15px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: top; width: 16.9643%; height: 15px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $7.96 </span></p> </td> </tr> </tbody> </table> </div> </div> 0.0044 0.0050 0.0167 0.0169 P5Y1M13D P5Y6M18D P5Y P5Y4M24D 0.5943 0.5981 0.5438 0.5487 0.0000 0.0000 14.58 7.96 30700 28.33 39550 16.44 1600000 857000 458000 0 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">The following is a summary of activity in restricted shares and restricted stock units for 2020:</span></p> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 7pt;"> </p> <div style="border-right: none; border-left: none;"> <div id="t_ft_9TXP1VGAN400000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 93px;" width="100%"> <tbody> <tr style="height: 29px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 64.1369%; height: 29px;"> <p style="margin: 0pt;"><strong><span style="font-size: 8pt; font-family: 'times new roman', times;"> Non-vested restricted stock units </span></strong></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 29px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 16%; height: 29px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Shares </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 29px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 17.4881%; height: 29px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Weighted Average Grant Date</span><br/><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Fair Value</span></p> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 64.1369%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Non-vested at December 31, 2019 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 68,204 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 17.39 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 64.1369%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Granted </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30,700 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 16%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 28.33 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 64.1369%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Vested </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 17px; border-bottom: 1pt solid #000000; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="border-left: none; border-right: none;">(30,450</span></span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; width: 1%; margin-left: 0.1px; vertical-align: middle; height: 17px; border-bottom: 1pt solid #000000; background-color: #d6f3e8;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 16%; height: 17px; border-bottom: 1pt solid #000000; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 19.29 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 17px; border-bottom: 1pt solid #000000; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 13px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 64.1369%; height: 13px;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> Non-vested at December 31, 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 13px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 68,454 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1%; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 15%; height: 13px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 21.45 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 13px; border-bottom: 2.8pt double #000000;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> 68204 17.39 30700 28.33 30450 19.29 68454 21.45 0.01 0.10 6500 0.85 19897 17781 136791 876000 111000 194000 751000 107000 133000 <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 68px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; width: 75%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">   </span></p> </td> <td colspan="2" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> <span style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">2020</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> <span style="border-left: none; border-right: none;">2019</span> </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Pre-tax share-based compensation expense </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,181</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 991 </span></p> </td> <td style="background-color: #d6f3e8; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Income tax benefits related to share-based compensation </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">712</span></p> </td> <td style="padding: 2px 2px 2px 0px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 211 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> 1181000 991000 712000 211000 2700000 P2Y10M24D 717000 497000 165000 42000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; font-weight: bold;">NOTE 8</span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">–</span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">NET INCOME PER SHARE<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. Common equivalent shares consist of common shares to be issued upon exercise of stock options, vesting of restricted stock units, vesting of restricted shares and from purchases of shares under our Employee Stock Purchase Plan, as calculated using the treasury stock method.<span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;"> Common equivalent shares are excluded from the calculation of net income per diluted share if their effect is anti-dilutive. </span></span><span style="font-size: 10pt; color: #000000;">The components of net income per basic and diluted share were as follows:</span></span></p> <table cellpadding="0" style="border-collapse: collapse; width: 99.5%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt; height: 212px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="padding: 0px; height: 17px;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> </span></td> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"> </td> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> </tr> <tr style="height: 26px;"> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 0px; height: 26px;"> <div style="font-size: 8pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;"><strong>(In thousands except per share amounts)</strong></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 26px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 0px; height: 26px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Net Income</strong></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 26px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong> </strong></span></div> </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 0px; height: 26px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Weighted Average Shares Outstanding</strong></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 26px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong> </strong></span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 0px; height: 26px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Per Share Amount</strong></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><strong>Year Ended 12/31/2020:</strong></span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-size: 10pt;"><br/></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; padding: 0px; width: 49%; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Basic</span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 14%; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5,742</span></div> </td> <td style="vertical-align: bottom; width: 1%; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 15%; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,215</span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 14%; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.80</span></div> </td> <td style="vertical-align: bottom; width: 1%; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-size: 10pt;"><br/></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Dilutive effect of common equivalent shares</span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></div> </td> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">239</span></div> </td> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span> </span></span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(0.03</span></div> </td> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;">)</td> </tr> <tr style="height: 18px;"> <td style="vertical-align: bottom; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Dilutive</span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5,742</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,454</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span> </span></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.77</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><br/></div> </td> </tr> <tr style="height: 18px;"> <td style="vertical-align: middle; width: 49%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 14%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 15%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 14%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 13px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands except per share amounts) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Net Income </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Weighted Average Shares Outstanding </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Per Share Amount </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> Year Ended 12/31/2019: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Basic </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 774 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,113 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.11 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Dilutive effect of common equivalent shares </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 149 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 2px 0px; vertical-align: bottom; height: 17px;"/> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Dilutive </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 774 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,262 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.11 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> <br/> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">Potentially dilutive shares consist of stock options, restricted stock units, restricted shares and purchases of shares under our Employee Stock Purchase Plan. Potentially dilutive shares excluded from the calculations of net income per diluted share due to their anti-dilutive effect were as follows: </span><span style="font-size: 10pt;">57,000 shares in 2020</span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;"> and </span></span><span style="font-size: 10pt;">291,000 shares in 2019</span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">.</span></span></span></p> The components of net income per basic and diluted share were as follows: <table cellpadding="0" style="border-collapse: collapse; width: 99.5%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt; height: 212px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="padding: 0px; height: 17px;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> </span></td> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"> </td> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> <td style="padding: 0px; height: 17px;"/> </tr> <tr style="height: 26px;"> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 0px; height: 26px;"> <div style="font-size: 8pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;"><strong>(In thousands except per share amounts)</strong></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 26px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;"> </span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 0px; height: 26px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Net Income</strong></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 26px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong> </strong></span></div> </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 0px; height: 26px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Weighted Average Shares Outstanding</strong></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 26px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong> </strong></span></div> </td> <td colspan="3" style="vertical-align: bottom; border-bottom: 1px solid #000000; padding: 0px; height: 26px;"> <div style="text-align: center; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Per Share Amount</strong></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><strong>Year Ended 12/31/2020:</strong></span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 8pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-size: 10pt;"><br/></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; padding: 0px; width: 49%; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Basic</span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 14%; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5,742</span></div> </td> <td style="vertical-align: bottom; width: 1%; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 15%; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,215</span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 1%; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></div> </td> <td style="vertical-align: bottom; padding: 0px; width: 14%; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.80</span></div> </td> <td style="vertical-align: bottom; width: 1%; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-size: 10pt;"><br/></span></div> </td> </tr> <tr style="height: 17px;"> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Dilutive effect of common equivalent shares</span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></div> </td> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">239</span></div> </td> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span> </span></span></div> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td colspan="2" style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(0.03</span></div> </td> <td style="vertical-align: bottom; border-bottom: 1px solid #000000; background-color: #d6f3e8; padding: 0px; height: 17px;">)</td> </tr> <tr style="height: 18px;"> <td style="vertical-align: bottom; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Dilutive</span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5,742</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,454</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span> </span></span></div> </td> <td style="vertical-align: bottom; padding: 0px; height: 18px;"> <div style="overflow: hidden; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: right; font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.77</span></div> </td> <td style="vertical-align: bottom; border-bottom: 3px double #000000; padding: 0px; height: 18px;"> <div style="text-align: left; font-size: 10pt;"><br/></div> </td> </tr> <tr style="height: 18px;"> <td style="vertical-align: middle; width: 49%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 14%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 15%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 14%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 13px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands except per share amounts) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Net Income </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Weighted Average Shares Outstanding </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 13px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Per Share Amount </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> Year Ended 12/31/2019: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Basic </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 774 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,113 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.11 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Dilutive effect of common equivalent shares </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 149 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 2px 0px; vertical-align: bottom; height: 17px;"/> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Dilutive </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 774 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,262 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.11 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> 5742000 7215000 0.80 239000 -0.03 5742000 7454000 0.77 774000 7113000 0.11 149000 0 774000 7262000 0.11 57000 291000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong>NOTE</strong><span style="font-weight: bold;"> 9</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">OTHER FINANCIAL STATEMENT DATA<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Inventories consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 101px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>December 31,</strong></span></p> </td> </tr> <tr style="height: 17px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 74%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Raw materials and purchased parts </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 11,903 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 9,845 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Work in process </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,459 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,837 </span></p> </td> <td style="vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Finished goods </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,208 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,373 </span></p> </td> <td style="vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"><span>Demonstration inventories, net</span></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"><br/></td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 10px;">1,701</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"><br/></td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; text-align: right;">1,525</td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px;"><br/></td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total inventories </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 20,271 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-bottom: 2.8pt double #000000; border-top: 1pt solid #000000; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15,580 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">Demonstration inventories are stated at cost less accumulated amortization, generally based on a 36 month useful life. Accumulated amortization for demonstration inventories totaled $<span style="border-left: none; border-right: none;"><span>2.7</span></span> million at December 31, 2020 and $<span>2.4</span> million at December 31, 2019. </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">Equipment</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> and leasehold improvements consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 94px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>December 31,</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equipment </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15,070 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,742 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Leasehold improvements </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,072 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,987 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 16px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 18,142 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 17,729 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Accumulated depreciation and amortization </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(14,907</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 2px 2px 2px 0px; vertical-align: bottom; height: 10px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (14,388 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,235 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,341 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Depreciation and amortization expense related to equipment and leasehold improvements was $1.7 million in 2020 and $1.6 million in 2019.</span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Intangible assets consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 98px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; width: 25%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.43195%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 0.887574%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.72781%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.28402%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.43195%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 0.887574%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.87574%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.18343%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.28402%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.18343%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="11" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 36.5385%; height: 17px;"> <p style="margin: 0pt; text-align: center;"><strong><span style="font-family: 'times new roman', times; font-size: 8pt;"> December 31, 2020 </span></strong></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="11" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 35.9467%; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> December 31, 2019 </span></strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 25%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 10.7988%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Gross Carrying<br/>Amount </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.6864%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Accumulated Amortization </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.2426%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Net </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 10.7988%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Gross Carrying<br/>Amount </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.5385%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Accumulated Amortization </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 10.9467%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Net </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Patents </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.43195%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,832 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 0.887574%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.72781%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,542</span></p> </td> <td style="padding: 2px 2px 2px 0px; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.28402%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 290 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.43195%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,898 </span></p> </td> <td style="vertical-align: bottom; width: 0.887574%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.87574%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (2,662 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.18343%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.28402%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 236 </span></p> </td> <td style="vertical-align: bottom; width: 1.18343%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Software </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 1.47929%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span><br/></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 8.43195%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">206</span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 0.887574%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10.2071%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(200</span></p> </td> <td style="padding: 2px 2px 2px 0px; vertical-align: bottom; width: 1.47929%; height: 17px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; width: 9.76331%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 206 </span></p> </td> <td style="vertical-align: bottom; width: 0.887574%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10.355%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (170 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.18343%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.76331%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 36 </span></p> </td> <td style="vertical-align: bottom; width: 1.18343%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketing assets and customer relationships </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 8.43195%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 101 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 0.887574%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10.2071%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(72</span></p> </td> <td style="padding: 2px 2px 2px 0px; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 10px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; width: 9.76331%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 29</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 101 </span></p> </td> <td style="vertical-align: bottom; width: 0.887574%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10.355%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (63 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.18343%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.76331%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 38 </span></p> </td> <td style="vertical-align: bottom; width: 1.18343%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.43195%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,139 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; width: 0.887574%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.72781%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,814</span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 2px 2px 2px 0px; vertical-align: bottom; width: 1.47929%; height: 10px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.28402%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 325 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.43195%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,205 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; width: 0.887574%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.87574%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (2,895 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.18343%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.28402%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 310 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; width: 1.18343%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Amortization expense in 2020 and 2019 was</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> as follows:</span><br/></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 137px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></p> </td> <td rowspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 34px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> Weighted Avg. Remaining Life-Years at December 31, 2020</span></strong></span></p> </td> </tr> <tr style="height: 17px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></p> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 49%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Patents </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 153 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 134 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 24%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1.7 </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Software </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 29 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 29 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.2 </span></span></p> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketing assets and customer relationships </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 9 </span></p> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 9 </span></p> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3.2 </span></span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 191 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 172 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Estimated aggregate amortization expense based on current intangible assets for the next <span style="border-left: none; border-right: none;">four</span> years is expected to be as follows<span>: $</span>160,000<span> in <span style="border-left: none; border-right: none;">2021;</span> $</span>106,000<span> in <span style="border-left: none; border-right: none;">2022;</span> $</span>57,000<span> in <span style="border-left: none; border-right: none;">2023; and </span>$</span>2,000<span> in <span style="border-left: none; border-right: none;">2024.</span> </span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt 0pt 5pt; text-indent: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Accrued expenses consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 127px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; width: 26.9231%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>December 31,</strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.7219%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.8698%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Wages and benefits </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.76331%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,768 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,319 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Warranty liability </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; width: 11.2426%; height: 18px; vertical-align: bottom;" valign="bottom"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 793 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11.3905%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 761 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; background-color: #d6f3e8; margin-left: 0.1px; text-align: left; height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Income taxes payable</span></td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; margin-left: 0.1px; height: 18px;"><br/></td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; width: 11.2426%; background-color: #d6f3e8; margin-left: 0.1px; vertical-align: bottom; text-align: right; height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">269</span></td> <td style="vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; margin-left: 0.1px; height: 18px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; margin-left: 0.1px; height: 18px;"><br/></td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; width: 11.3905%; background-color: #d6f3e8; margin-left: 0.1px; text-align: right; vertical-align: bottom; height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">333</span></td> <td style="vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; margin-left: 0.1px; height: 18px;"><br/></td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.2426%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 63 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3905%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 159 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.76331%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,893 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.47929%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,572 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.47929%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Other</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> liabilities consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin: 0px auto; width: 100%; height: 127px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 72.6331%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.91124%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.887574%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.33136%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.91124%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47493%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.6331%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 26.4749%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong><span>December 31,</span></strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.6331%;"> <p style="margin: 0pt; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.2781%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33136%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.8655%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; width: 72.6331%; height: 18px; margin-left: 0.1px; vertical-align: bottom;"> <p style="margin: 0pt; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Deferred warranty revenue</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 88 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.887574%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 81 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.47493%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.6331%;"> <p style="margin: 0pt; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Warranty liability </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3905%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 46 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.887574%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33136%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3905%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 37 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.47493%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.6331%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Contract liabilities </span><br/></td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.47929%;"><br/></td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; text-align: right; width: 11.3905%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span><br/></td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.887574%;"><br/></td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33136%;"><br/></td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; text-align: right; width: 11.3905%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">84</span><br/></td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.47493%;"><br/></td> </tr> <tr style="height: 19px; margin-left: 0.1px; background-color: #ffffff;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 72.6331%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.47929%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 1.47929%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.91124%; background-color: #ffffff;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 134 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 19px; width: 0.887574%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.33136%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 1.47929%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.91124%; background-color: #ffffff;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 202 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 19px; width: 1.47493%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'Times New Roman', serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span> </span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000; font-family: 'Times New Roman', serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">See Note 3 for additional information related to contract liabilities.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">    </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Warranty</span><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> costs:</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">    </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">We provide for the estimated cost of product warranties, which cover products for periods ranging from <span style="border-left: none; border-right: none;"><span style="-sec-ix-hidden:Tag1046">one</span></span> to <span style="border-left: none; border-right: none;"><span style="border-left: none; border-right: none;">three years</span></span>, at the time revenue is recognized. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of components provided by suppliers, warranty obligations do arise. These obligations are affected by product failure rates, the costs of materials used in correcting product failures and service delivery expenses incurred to make these corrections. If actual product failure rates and material or service delivery costs differ from our estimates, revisions to the estimated warranty liability are required and could be material. At the end of each reporting period, we revise our estimated warranty liability based on these factors. The current portion of our warranty liability is included as a component of accrued expenses. The long-term portion of our warranty liability is included as a component of other liabilities. </span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">A reconciliation of the changes in our estimated warranty liability is as follows:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; width: 100%; margin-left: 0px; height: 181px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span><strong> </strong><strong> </strong></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019</span> </p> </td> <td style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balance at beginning of period </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 798 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 789 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Accrual for warranties </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 836 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 815 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Warranty revision </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><br/></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">43</span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; height: 18px; vertical-align: bottom;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">186</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"/> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Settlements made during the period </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(838</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (992 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balance at end of period </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">839</span></p> </td> <td style="background-color: #d6f3e8; text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 798 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Current portion of estimated warranty liability</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(793</span></p> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (761 </span></p> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Long-term estimated warranty liability </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 46 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px 0px 2px; vertical-align: bottom; height: 19px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 37 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 19px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">Deferred warranty revenue:</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The current portion of our deferred warranty revenue is included as a component of advance customer payments. The long-term portion of our deferred warranty revenue is included as a component of other liabilities. A reconciliation of the changes in our deferred warranty revenue is as follows:<br/></span></p> <table cellpadding="0" style="height: 0px; border-collapse: collapse; width: 100%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 24.855%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span><strong> </strong></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 11.9304%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019</span> </p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 73.9851%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balance at beginning of period </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.07705%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.942%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 275 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.942%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 218 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Revenue deferrals </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 434 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 488 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Amortization of deferred revenue </span></span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(365</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;" valign="bottom">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (431 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total deferred warranty revenue </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 344 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.9942%;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 275 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Current portion of deferred warranty revenue </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(256</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;" valign="bottom">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (194 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Long-term deferred warranty revenue</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.942%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 88 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 0.9942%;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.942%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 81 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Inventories consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 101px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>December 31,</strong></span></p> </td> </tr> <tr style="height: 17px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 74%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Raw materials and purchased parts </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 11,903 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 9,845 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Work in process </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,459 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,837 </span></p> </td> <td style="vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Finished goods </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,208 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,373 </span></p> </td> <td style="vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"><span>Demonstration inventories, net</span></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"><br/></td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 10px;">1,701</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"><br/></td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; text-align: right;">1,525</td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px;"><br/></td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total inventories </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 20,271 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-bottom: 2.8pt double #000000; border-top: 1pt solid #000000; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15,580 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> 11903000 9845000 2459000 1837000 4208000 2373000 1701000 1525000 20271000 15580000 P36M 2700000 2400000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">Equipment</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> and leasehold improvements consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 94px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>December 31,</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equipment </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15,070 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,742 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Leasehold improvements </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,072 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,987 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 16px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 18,142 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 17,729 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 16px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Accumulated depreciation and amortization </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(14,907</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 2px 2px 2px 0px; vertical-align: bottom; height: 10px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (14,388 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,235 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,341 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> 15070000 14742000 3072000 2987000 18142000 17729000 14907000 14388000 3235000 3341000 1700000 1600000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Intangible assets consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 98px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; width: 25%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.43195%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 0.887574%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.72781%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.28402%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.43195%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 0.887574%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.87574%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.18343%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 8.28402%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.18343%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="11" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 36.5385%; height: 17px;"> <p style="margin: 0pt; text-align: center;"><strong><span style="font-family: 'times new roman', times; font-size: 8pt;"> December 31, 2020 </span></strong></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="11" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 35.9467%; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> December 31, 2019 </span></strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 25%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 10.7988%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Gross Carrying<br/>Amount </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.6864%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Accumulated Amortization </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.2426%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Net </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 10.7988%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Gross Carrying<br/>Amount </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 11.5385%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Accumulated Amortization </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 10.9467%; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Net </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Patents </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.43195%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,832 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; width: 0.887574%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.72781%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,542</span></p> </td> <td style="padding: 2px 2px 2px 0px; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.28402%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 290 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.43195%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,898 </span></p> </td> <td style="vertical-align: bottom; width: 0.887574%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.87574%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (2,662 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.18343%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.28402%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 236 </span></p> </td> <td style="vertical-align: bottom; width: 1.18343%; background-color: #d6f3e8; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Software </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 1.47929%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span><br/></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 8.43195%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">206</span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 0.887574%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10.2071%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(200</span></p> </td> <td style="padding: 2px 2px 2px 0px; vertical-align: bottom; width: 1.47929%; height: 17px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; width: 9.76331%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 206 </span></p> </td> <td style="vertical-align: bottom; width: 0.887574%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10.355%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (170 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.18343%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.76331%; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 36 </span></p> </td> <td style="vertical-align: bottom; width: 1.18343%; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketing assets and customer relationships </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 8.43195%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 101 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; width: 0.887574%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10.2071%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(72</span></p> </td> <td style="padding: 2px 2px 2px 0px; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 10px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; width: 9.76331%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 29</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 101 </span></p> </td> <td style="vertical-align: bottom; width: 0.887574%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10.355%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (63 </span></p> </td> <td style="padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.18343%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.76331%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 38 </span></p> </td> <td style="vertical-align: bottom; width: 1.18343%; background-color: #d6f3e8; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 25%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.43195%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,139 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; width: 0.887574%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.72781%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,814</span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 2px 2px 2px 0px; vertical-align: bottom; width: 1.47929%; height: 10px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.28402%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 325 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.43195%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,205 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; width: 0.887574%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.87574%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (2,895 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.18343%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 8.28402%; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 310 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; width: 1.18343%; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> 1832000 1542000 290000 2898000 2662000 236000 206000 200000 6000 206000 170000 36000 101000 72000 29000 101000 63000 38000 2139000 1814000 325000 3205000 2895000 310000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Amortization expense in 2020 and 2019 was</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> as follows:</span><br/></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; font-family: 'times new roman'; font-size: 10pt; height: 137px;" width="100%"> <tbody> <tr style="height: 17px;"> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="vertical-align: middle; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></p> </td> <td rowspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 34px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> Weighted Avg. Remaining Life-Years at December 31, 2020</span></strong></span></p> </td> </tr> <tr style="height: 17px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> </span></p> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 49%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Patents </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 153 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 134 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 24%; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1.7 </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Software </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 29 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 29 </span></p> </td> <td style="vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.2 </span></span></p> </td> </tr> <tr style="height: 17px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Marketing assets and customer relationships </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 9 </span></p> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 9 </span></p> </td> <td style="vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3.2 </span></span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 191 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 172 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> 153000 134000 P1Y8M12D 29000 29000 P0Y2M12D 9000 9000 P3Y2M12D 191000 172000 160000 106000 57000 2000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt 0pt 5pt; text-indent: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Accrued expenses consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 127px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; width: 26.9231%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>December 31,</strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.7219%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.8698%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Wages and benefits </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.76331%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,768 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,319 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Warranty liability </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; width: 11.2426%; height: 18px; vertical-align: bottom;" valign="bottom"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 793 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11.3905%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 761 </span></p> </td> <td style="vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; background-color: #d6f3e8; margin-left: 0.1px; text-align: left; height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Income taxes payable</span></td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; margin-left: 0.1px; height: 18px;"><br/></td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; width: 11.2426%; background-color: #d6f3e8; margin-left: 0.1px; vertical-align: bottom; text-align: right; height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">269</span></td> <td style="vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; margin-left: 0.1px; height: 18px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; background-color: #d6f3e8; margin-left: 0.1px; height: 18px;"><br/></td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; width: 11.3905%; background-color: #d6f3e8; margin-left: 0.1px; text-align: right; vertical-align: bottom; height: 18px;"><span style="font-family: 'times new roman', times; font-size: 10pt;">333</span></td> <td style="vertical-align: bottom; width: 1.47929%; background-color: #d6f3e8; margin-left: 0.1px; height: 18px;"><br/></td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.2426%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 63 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3905%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 159 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; width: 72.4852%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.76331%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,893 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.47929%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,572 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.47929%; height: 19px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> 2768000 1319000 793000 761000 269000 333000 63000 159000 3893000 2572000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Other</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> liabilities consist of the following:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; margin: 0px auto; width: 100%; height: 127px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 72.6331%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.91124%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.887574%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.33136%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.91124%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47493%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.6331%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 26.4749%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong><span>December 31,</span></strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.6331%;"> <p style="margin: 0pt; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.2781%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33136%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.8655%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; width: 72.6331%; height: 18px; margin-left: 0.1px; vertical-align: bottom;"> <p style="margin: 0pt; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Deferred warranty revenue</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 88 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.887574%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.33136%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.47929%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.91124%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 81 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.47493%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.6331%;"> <p style="margin: 0pt; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Warranty liability </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3905%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 46 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.887574%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33136%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3905%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 37 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.47493%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.6331%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Contract liabilities </span><br/></td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.47929%;"><br/></td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; text-align: right; width: 11.3905%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span><br/></td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.887574%;"><br/></td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33136%;"><br/></td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; text-align: right; width: 11.3905%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">84</span><br/></td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.47493%;"><br/></td> </tr> <tr style="height: 19px; margin-left: 0.1px; background-color: #ffffff;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 72.6331%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.47929%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 1.47929%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.91124%; background-color: #ffffff;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 134 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 19px; width: 0.887574%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.33136%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 1.47929%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.91124%; background-color: #ffffff;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 202 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; height: 19px; width: 1.47493%; background-color: #ffffff;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> </div> 88000 81000 46000 37000 0 84000 134000 202000 P3Y <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">A reconciliation of the changes in our estimated warranty liability is as follows:<br/></span></p> <div style="border-left: none; border-right: none;"> <table cellpadding="0" style="border-collapse: collapse; width: 100%; margin-left: 0px; height: 181px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span><strong> </strong><strong> </strong></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019</span> </p> </td> <td style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balance at beginning of period </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 798 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 789 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Accrual for warranties </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 836 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 815 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Warranty revision </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><br/></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">43</span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; height: 18px; vertical-align: bottom;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">186</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"/> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Settlements made during the period </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(838</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (992 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balance at end of period </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">839</span></p> </td> <td style="background-color: #d6f3e8; text-align: left; padding: 0px 0px 2px; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 798 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Current portion of estimated warranty liability</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(793</span></p> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (761 </span></p> </td> <td style="padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 18px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Long-term estimated warranty liability </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 46 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px 0px 2px; vertical-align: bottom; height: 19px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 37 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px 0px 2px; text-align: left; vertical-align: bottom; height: 19px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> 798000 789000 836000 815000 43000 186000 838000 992000 839000 798000 793000 761000 46000 37000 A reconciliation of the changes in our deferred warranty revenue is as follows:<br/> <table cellpadding="0" style="height: 0px; border-collapse: collapse; width: 100%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 24.855%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span><strong> </strong></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 11.9304%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019</span> </p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 73.9851%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Balance at beginning of period </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.07705%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.942%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 275 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.942%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 218 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.9942%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Revenue deferrals </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 434 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 488 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Amortization of deferred revenue </span></span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(365</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;" valign="bottom">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (431 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total deferred warranty revenue </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 344 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.9942%;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 275 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Current portion of deferred warranty revenue </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(256</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;" valign="bottom">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9362%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (194 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 73.9851%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Long-term deferred warranty revenue</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.07705%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.942%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 88 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 0.9942%;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.942%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 81 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 0.9942%;"> <p style="margin: 0pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">  </span></p> </td> </tr> </tbody> </table> 275000 218000 434000 488000 365000 431000 344000 275000 256000 194000 88000 81000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="font-weight: bold;">NOTE</span><span style="font-weight: bold;"> 10</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">INCOME TAXES</span></span></p> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 8pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">Income before income taxes consists of the following:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_3COVZMC4PS00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 87px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Sources of income (loss) before income taxes: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 74%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> United States </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">4,876</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1%;" valign="bottom"/> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(172</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1%;">)</td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,478</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,332 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total income before income taxes </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $  </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,354 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,160 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">The provision</span><span style="font-family: 'times new roman', times;"> (benefit) for income taxes consists of the following:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_ZREZBUS08W00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 157px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; border-bottom: 1pt solid #000000; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 74%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Current: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 11%;"> <p style="margin: 0pt;"><br/></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">26</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"/> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px;"/> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> State </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 19 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">201</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"/> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(37</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; padding: 0px; height: 10px;">)</td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total current </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $  </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">246</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; border-top: 1pt solid #000000; height: 10px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(7</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; padding: 0px; height: 10px;">)</td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Deferred: </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">361</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">338</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"/> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> State </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">54</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"/> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total deferred </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">366</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 1pt solid #000000; height: 10px;" valign="bottom"/> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">393</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"/> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total provision for income taxes </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">612</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 10px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">386</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"/> </tr> </tbody> </table> </div> </div> <div> <div id="t_ft_TCW5L12FB400000000000000000000b"><br/></div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">A reconciliation of the statutory rate to the effective income tax rate is as follows:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_0KZC7OU4QO00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 223px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px; width: 72.0238%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.0238%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="5" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 26.4881%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.0238%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 10.7143%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 1.93452%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong><span> </span></strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.6488%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal statutory rate </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 21.0 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> % </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 21.0 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> % </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> State income taxes, net of federal benefit </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.2 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2.1 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. Subpart F income </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.6 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1.2 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;"><span> Global Intangible Low-Taxed Income (GILTI)/Foreign Derived Intangible Income</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2.1 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 17.4 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Share-based compensation </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(7.4</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%; background-color: #d6f3e8;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(0.2</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%; background-color: #d6f3e8;"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Research and experimentation (R&amp;D) credit </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(3.2</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (16.8 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 16px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 72.0238%; height: 16px; background-color: #d6f3e8;"><span>Foreign tax credit</span></td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 16px; background-color: #d6f3e8;"><br/></td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 10.7143%; height: 16px; background-color: #d6f3e8;"><span>(</span>2.2</td> <td style="padding: 0px; vertical-align: bottom; width: 1.93452%; height: 16px; background-color: #d6f3e8;"><span>)</span></td> <td style="padding: 0px; vertical-align: bottom; width: 1.19048%; height: 16px; background-color: #d6f3e8;"><br/></td> <td style="padding: 0px; vertical-align: bottom; width: 10.7143%; height: 16px; text-align: right; background-color: #d6f3e8;">—</td> <td style="padding: 0px; vertical-align: bottom; width: 1.93452%; height: 16px; background-color: #d6f3e8;"><br/></td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 72.0238%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign rate difference </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1.1</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.93452%;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(6.0</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.93452%;">)</td> </tr> <tr style="height: 16px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 72.0238%; height: 16px; background-color: #d6f3e8;"><span>Singapore jobs support program</span></td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 16px; background-color: #d6f3e8;"><br/></td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 10.7143%; height: 16px; background-color: #d6f3e8;">(1.3</td> <td style="padding: 0px; vertical-align: bottom; width: 1.93452%; height: 16px; background-color: #d6f3e8;">)</td> <td style="padding: 0px; vertical-align: bottom; width: 1.19048%; height: 16px; background-color: #d6f3e8;"><br/></td> <td style="padding: 0px; vertical-align: bottom; width: 10.7143%; height: 16px; background-color: #d6f3e8;"> <p style="text-align: right;">—</p> </td> <td style="vertical-align: bottom; padding: 0px; width: 1.93452%; height: 16px; background-color: #d6f3e8;"><br/></td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;">Unrecognized tax benefit</p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; font-size: 10pt; display: inline !important;">0.4</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;"/> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(16.6</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%;">)</td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Valuation allowance </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(4.2</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%; background-color: #d6f3e8;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">10.5</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%; background-color: #d6f3e8;"/> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 72.0238%; height: 10px;">Expiring and unrecognized deferred tax attributes </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 10px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 10.7143%; height: 10px;">3.7</td> <td style="padding: 0px; vertical-align: bottom; width: 1.93452%; height: 10px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; width: 1.19048%; height: 10px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 10.7143%; height: 10px;">16.1</td> <td style="vertical-align: bottom; padding: 0px; width: 1.93452%; height: 10px;"><br/></td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other, net </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1.0 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4.6 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Effective tax rate </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">9.6</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px; width: 1.93452%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">%</span></td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><br/></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">33.3</span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;">%</td> </tr> </tbody> </table> </div> </div> <div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000;"><span style="font-family: 'times new roman', times;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000;"><span style="font-family: 'times new roman', times;">Our effective tax rate in 2020 was favorably impacted by $497,000 of excess tax benefits from employee stock option exercises and vesting of restricted stock units and restricted shares, and favorable benefits from U.S. federal R&amp;D tax credits and foreign tax credits, offset in part by the GILTI. Our</span><span style="font-family: 'times new roman', times;"> effective tax rate in 2019 was negatively impacted<span> by </span><span style="font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">the GILTI and an increase in our valuation allowance for deferred income taxes related to U.S. federal R&amp;D tax credits expiring in 2020, offset in part by the favorable benefits from U.S. federal R&amp;D tax credits earned in 2019 and a non-cash benefit from completion of an audit of our income taxes in the Singapore tax jurisdiction. We have elected to account for the tax on the U.S. GILTI as a period cost and not as a measure of deferred taxes.</span></span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="color: #000000;"><span style="font-family: 'times new roman', times;"><span style="font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;"><span><br/></span></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">A reconciliation</span><span style="font-family: 'times new roman', times;"> of the beginning and ending amount of gross unrecognized tax benefits (“UTB”) is as follows:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_8PSX5T1UI800000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 181px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 9.99454%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 9.99454%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-family: 'times new roman', times;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 25.4095%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-family: 'times new roman', times;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-size: 8pt; font-weight: bold; font-family: 'times new roman', times;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 12.4657%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-family: 'times new roman', times;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 11.9607%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-weight: bold; font-family: 'times new roman', times;"> 2019 </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Gross UTB balance at beginning of year </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <h4 style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></h4> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 9.99454%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,761 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 9.99454%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,542 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Additions based on tax positions related to the current year </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.9776%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 137 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 18px; width: 10.9776%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 97 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Additions for tax positions of prior years </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.9776%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">60</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 10.9776%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">18</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Reductions for tax positions of prior years </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.9776%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(169</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 18px; width: 10.9776%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (896 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Reductions due to lapse of applicable statute of limitations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px; width: 10.9776%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 10.9776%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"/> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Gross UTB balance at end of year </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 18px; width: 9.99454%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,789 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 9.99454%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,761 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net UTB balance at end of year </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $  </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 18px; width: 9.99454%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 197 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 9.99454%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 160 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">The ending net UTB results from adjusting the gross balance for items such as federal, state, and non-U.S. deferred items, interest and penalties, and deductible taxes. The increase in our gross and net UTB balance as of December 31, 2020 was related to a potential exposure resulting from an ongoing audit of our income taxes in Singapore<span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">.</span> </span><span style="font-family: 'times new roman', times;">We have classified $40,000 of our net UTB as a current liability, because we anticipate having to pay this liability within the next year. The remaining net UTB is a long-term income tax reserve within our consolidated balance sheets. We recognize interest and penalties related to unrecognized tax benefits in tax expense. Accrued interest and penalties on a gross basis and estimated gross interest and penalties included in the above amounts for all years were inconsequential. <span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">The gross UTB at December 31, 2020 and 2019, if recognized, would favorably impact our effective tax rate.</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box;">We file income tax returns in the United States and various state and foreign jurisdictions. Our federal income tax returns for years after 2016 are still subject to examination by the Internal Revenue Service. We are no longer subject to state and local income tax examinations for years prior to 2016. </span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="border: 0px; margin: 0px; padding: 0px; box-sizing: border-box;"><br/></span></span></p> <p style="border: 0px; box-sizing: border-box; margin: 0pt; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; /* background-color: #ffffff; */line-height: 16px;"><span style="border: 0px; box-sizing: border-box; font-family: 'times new roman', times;"><span style="border: 0px; box-sizing: border-box; font-size: 10pt;">The Inland Revenue Authority of Singapore has initiated a routine compliance review of our 2018 income tax return. We presently anticipate that the outcome of this audit will not have a significant impact on our financial position or results of operations. </span></span><br/></p> <p style="margin: 0px; clear: left; font-family: 'times new roman'; font-size: 10pt;"> </p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">Deferred tax assets and liabilities consist of the following:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_C6TZDXW99C00000000000000000000"><br/> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 298px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">December 31, 2020</span></strong></span><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> December 31, 2019 </span></strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> Assets </span></strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Liabilities</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Assets </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Liabilities </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 48%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equipment, leaseholds and intangible amortization, net </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 176 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8; width: 10%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 251 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 200 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 287 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Operating lease liabilities</span></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 2px 0px; vertical-align: bottom; height: 17px;"> <p style="text-align: right;">839<br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 17px;"><span>—</span></td> <td style="padding: 0px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 17px;"><span>755</span></td> <td style="vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 17px;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">—</span></td> <td style="vertical-align: bottom; height: 17px;"><br/></td> </tr> <tr style="background-color: #d6f3e8; height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Right-of-use assets (operating leases)</span></td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 2px 0px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"> <p style="text-align: right;"><span>—</span></p> </td> <td style="padding: 0px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 2px 0px; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 17px;"> <p>478<br/></p> </td> <td style="padding: 0px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; text-align: right; height: 17px;"><span>—</span></td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; text-align: right; height: 17px;"><span>340</span></td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Inventory allowances </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 549 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 610 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Accrued expenses </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 129 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 110 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Warranty accrual </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 182 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 173 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Deferred revenue </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 214 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 429 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal and state tax credits </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,960 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,001 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal and state net operating loss carry forwards </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 275 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 555 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Share-based compensation </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 358 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 369 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other, net </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 113 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">50</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 114 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">18</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Subtotal </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,795 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; border-top: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 784 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; border-top: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,316 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 645 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Valuation allowance </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,414</span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;">)</td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,679 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total deferred tax assets and liabilities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,381 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 784 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; border-top: 1pt solid #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,637 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 645 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">    </span></p> </td> </tr> </tbody> </table> </div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="border: 0px; box-sizing: border-box; margin: 0pt; color: #333333; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; /* background-color: #ffffff; */line-height: 16px;"><span style="border: 0px; box-sizing: border-box; font-family: 'times new roman', times; font-size: 10pt; color: #000000;">We have significant deferred tax assets as a result of temporary differences between the taxable income on our tax returns and U.S. GAAP income, R&amp;D tax credit carry forwards and state net operating loss carry forwards. A deferred tax asset generally represents future tax benefits to be received when temporary differences previously reported in our consolidated financial statements become deductible for income tax purposes, when net operating loss carry forwards could be applied against future taxable income, or when tax credit carry forwards are utilized on our tax returns. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on the guidance provided in current financial accounting standards. </span></p> <p style="border: 0px; box-sizing: border-box; margin: 0px; color: #333333; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; /* background-color: #ffffff; */clear: left; font-family: 'times new roman';"><span style="color: #000000;"> </span></p> <p style="border: 0px; box-sizing: border-box; margin: 0pt; color: #333333; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; /* background-color: #ffffff; */line-height: 16px;"><span style="border: 0px; box-sizing: border-box; font-family: 'times new roman', times; font-size: 10pt; color: #000000;">Significant judgment is required in determining the realizability of our deferred tax assets. The assessment of whether valuation allowances are required considers, among other matters, the nature, frequency and severity of any current and cumulative losses, forecasts of future profitability, the duration of statutory carry forward periods, our experience with loss carry forwards not expiring unused and tax planning alternatives. <span style="border: 0px; box-sizing: border-box; font-size: 10pt;">In analyzing the need for valuation allowances, we first considered our history of cumulative operating results for income tax purposes over the past </span><span style="border: 0px; box-sizing: border-box; font-size: 10pt;"><span style="border: 0px; box-sizing: border-box;">three years</span></span><span style="border: 0px; box-sizing: border-box; font-size: 10pt;"> in each of the tax jurisdictions in which we operate, our financial performance in recent quarters, statutory carry forward periods and tax planning alternatives. In addition, we considered both our near-term and long-term financial outlook. After considering all available evidence (both positive and negative), we concluded that recognition of valuation allowances for substantially all of our U.S. and Singapore based deferred tax assets was not required at December 31, 2020 or December 31, 2019. The valuation<span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"> allowance recorded against our deferred tax assets at December 31, 2020 was reduced by $265,000, mainly </span><span style="color: #000000; font-family: 'times new roman', times; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; font-size: 13.3333px; float: none; display: inline !important;">for U.S. federal R&amp;D tax credits that were used or expired</span><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">.<span> </span></span></span></span><span style="font-family: 'times new roman', times; color: #000000;"><span><span style="/* color: #333333; */font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">The valuation allowance recorded against our deferred tax assets at December 31, 2019 was increased by $122,000</span><span style="/* color: #333333; */font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">, primarily for U.S. federal R&amp;D tax credits expiring in 2020, offset in part by the reduction for U.S. federal R&amp;D tax credits that expired in 2019. </span>At December 31, 2020, we have federal R&amp;D tax credit carry forwards of approximately $</span><span style="font-size: 10pt;">4.0</span><span> million that will begin to expire in 2021</span><span>, if unused.  All of our remaining federal net operating loss carry forwards were fully utilized in 2020.</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; font-family: 'times new roman', times;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; font-family: 'times new roman', times;">We determine on a regular basis the amount of undistributed earnings that will be reinvested in our non-U.S. operations. This assessment is based on our fiscal objectives and the working capital requirements for each of our foreign subsidiaries. The Tax Cuts and Jobs Act provides for a 100% dividends-received-deduction for foreign-source dividends received from 10% or more owned foreign corporations. Additionally, our foreign income is subject to Subpart F, GILTI and is eligible for foreign tax credits. The tax jurisdictions for the vast majority of our foreign operations do not impose a withholding tax. For these reasons, we have not recognized a deferred tax liability for the unremitted earnings of any of our foreign subsidiaries. Determination of the amount of any deferred income or withholding tax liability is not practicable because of the complexities of the hypothetical calculation.</p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; font-family: 'times new roman', times;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; font-family: 'times new roman', times;"><span style="font-family: 'times new roman', times; color: #000000;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Cash</span><span style="font-family: 'times new roman', times; font-size: 10pt;"> payments for income taxes, net of refunds received, were $</span>59,000<span style="font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;"> in 2020 and </span>$46,000 in 2019.</span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">Income before income taxes consists of the following:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_3COVZMC4PS00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 87px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Sources of income (loss) before income taxes: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 74%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> United States </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">4,876</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1%;" valign="bottom"/> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(172</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1%;">)</td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,478</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,332 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total income before income taxes </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $  </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,354 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,160 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> 4876000 -172000 1478000 1332000 6354000 1160000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">The provision</span><span style="font-family: 'times new roman', times;"> (benefit) for income taxes consists of the following:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_ZREZBUS08W00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 157px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; border-bottom: 1pt solid #000000; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 74%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Current: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 11%;"> <p style="margin: 0pt;"><br/></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 11%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">26</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"/> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px;"/> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> State </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 19 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 30 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">201</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;"/> <td style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(37</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; padding: 0px; height: 10px;">)</td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total current </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $  </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">246</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; border-top: 1pt solid #000000; height: 10px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(7</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; vertical-align: bottom; padding: 0px; height: 10px;">)</td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Deferred: </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">361</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">338</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;"/> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> State </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">54</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"/> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total deferred </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">366</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 1pt solid #000000; height: 10px;" valign="bottom"/> <td style="padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">393</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px;"/> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 15pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total provision for income taxes </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">612</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 10px;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 10px;" valign="bottom"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">386</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 10px;"/> </tr> </tbody> </table> </div> </div> 26000 0 19000 30000 201000 -37000 246000 -7000 361000 338000 0 1000 5000 54000 366000 393000 612000 386000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">A reconciliation of the statutory rate to the effective income tax rate is as follows:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_0KZC7OU4QO00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 223px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px; width: 72.0238%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.0238%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="5" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 26.4881%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.0238%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 10.7143%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 1.93452%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong><span> </span></strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.6488%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal statutory rate </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 21.0 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: left;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> % </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 21.0 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> % </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> State income taxes, net of federal benefit </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.2 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2.1 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> U.S. Subpart F income </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.6 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1.2 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;"><span> Global Intangible Low-Taxed Income (GILTI)/Foreign Derived Intangible Income</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2.1 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 17.4 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Share-based compensation </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(7.4</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%; background-color: #d6f3e8;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(0.2</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%; background-color: #d6f3e8;"><span style="font-family: 'times new roman', times; font-size: 10pt;">)</span></td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> Research and experimentation (R&amp;D) credit </span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(3.2</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (16.8 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 16px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 72.0238%; height: 16px; background-color: #d6f3e8;"><span>Foreign tax credit</span></td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 16px; background-color: #d6f3e8;"><br/></td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 10.7143%; height: 16px; background-color: #d6f3e8;"><span>(</span>2.2</td> <td style="padding: 0px; vertical-align: bottom; width: 1.93452%; height: 16px; background-color: #d6f3e8;"><span>)</span></td> <td style="padding: 0px; vertical-align: bottom; width: 1.19048%; height: 16px; background-color: #d6f3e8;"><br/></td> <td style="padding: 0px; vertical-align: bottom; width: 10.7143%; height: 16px; text-align: right; background-color: #d6f3e8;">—</td> <td style="padding: 0px; vertical-align: bottom; width: 1.93452%; height: 16px; background-color: #d6f3e8;"><br/></td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 72.0238%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Foreign rate difference </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1.1</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.93452%;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(6.0</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.93452%;">)</td> </tr> <tr style="height: 16px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 72.0238%; height: 16px; background-color: #d6f3e8;"><span>Singapore jobs support program</span></td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 16px; background-color: #d6f3e8;"><br/></td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 10.7143%; height: 16px; background-color: #d6f3e8;">(1.3</td> <td style="padding: 0px; vertical-align: bottom; width: 1.93452%; height: 16px; background-color: #d6f3e8;">)</td> <td style="padding: 0px; vertical-align: bottom; width: 1.19048%; height: 16px; background-color: #d6f3e8;"><br/></td> <td style="padding: 0px; vertical-align: bottom; width: 10.7143%; height: 16px; background-color: #d6f3e8;"> <p style="text-align: right;">—</p> </td> <td style="vertical-align: bottom; padding: 0px; width: 1.93452%; height: 16px; background-color: #d6f3e8;"><br/></td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;">Unrecognized tax benefit</p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; font-size: 10pt; display: inline !important;">0.4</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;"/> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(16.6</span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%;">)</td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Valuation allowance </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(4.2</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%; background-color: #d6f3e8;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">10.5</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%; background-color: #d6f3e8;"/> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 72.0238%; height: 10px;">Expiring and unrecognized deferred tax attributes </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1.33929%; height: 10px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 10.7143%; height: 10px;">3.7</td> <td style="padding: 0px; vertical-align: bottom; width: 1.93452%; height: 10px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; width: 1.19048%; height: 10px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; text-align: right; width: 10.7143%; height: 10px;">16.1</td> <td style="vertical-align: bottom; padding: 0px; width: 1.93452%; height: 10px;"><br/></td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 10px; width: 72.0238%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other, net </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1.0 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4.6 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 10px; width: 1.93452%; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 72.0238%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Effective tax rate </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.33929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 10px; width: 10.7143%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">9.6</span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 10px; width: 1.93452%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">%</span></td> <td style="padding: 0px; vertical-align: bottom; height: 10px; width: 1.19048%;"> <p style="margin: 0pt;"><br/></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px; width: 10.7143%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">33.3</span></p> </td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 10px; width: 1.93452%;">%</td> </tr> </tbody> </table> </div> </div> 0.210 0.210 0.002 0.021 0.006 0.012 0.021 0.174 -0.074 -0.002 0.032 0.168 0.022 0 -0.011 -0.060 -0.013 0 0.004 -0.166 -0.042 0.105 0.037 0.161 0.010 0.046 0.096 0.333 -497000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">A reconciliation</span><span style="font-family: 'times new roman', times;"> of the beginning and ending amount of gross unrecognized tax benefits (“UTB”) is as follows:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_8PSX5T1UI800000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 181px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 9.99454%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 9.99454%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-family: 'times new roman', times;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 25.4095%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-family: 'times new roman', times;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-size: 8pt; font-weight: bold; font-family: 'times new roman', times;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 12.4657%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-family: 'times new roman', times;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-size: 8pt; font-family: 'times new roman', times;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 11.9607%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-weight: bold; font-family: 'times new roman', times;"> 2019 </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Gross UTB balance at beginning of year </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <h4 style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></h4> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 9.99454%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,761 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 9.99454%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,542 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Additions based on tax positions related to the current year </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.9776%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 137 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 18px; width: 10.9776%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 97 </span></p> </td> <td style="vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Additions for tax positions of prior years </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.9776%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">60</span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 10.9776%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">18</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Reductions for tax positions of prior years </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; text-align: right; height: 18px; width: 10.9776%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(169</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;">)</td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 0px; vertical-align: bottom; height: 18px; width: 10.9776%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (896 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Reductions due to lapse of applicable statute of limitations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px; width: 10.9776%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 10.9776%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 0.75pt solid #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"/> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Gross UTB balance at end of year </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 18px; width: 9.99454%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,789 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 9.99454%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,761 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 74.0033%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net UTB balance at end of year </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.03768%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $  </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 18px; width: 9.99454%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 197 </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 18px; width: 1.4881%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding: 0px; vertical-align: bottom; height: 18px; width: 9.99454%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 160 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; padding: 0px; height: 18px; width: 0.983069%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> 1761000 2542000 137000 97000 60000 18000 169000 896000 0 0 1789000 1761000 197000 160000 40000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;">Deferred tax assets and liabilities consist of the following:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_C6TZDXW99C00000000000000000000"><br/> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 298px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 19px;"> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> <td style="vertical-align: middle; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;">December 31, 2020</span></strong></span><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> December 31, 2019 </span></strong></span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt;"><strong><span style="font-family: 'times new roman', times;"> Assets </span></strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Liabilities</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Assets </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> Liabilities </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 48%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Equipment, leaseholds and intangible amortization, net </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 176 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8; width: 10%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 251 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 200 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 10%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 287 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Operating lease liabilities</span></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 2px 0px; vertical-align: bottom; height: 17px;"> <p style="text-align: right;">839<br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 17px;"><span>—</span></td> <td style="padding: 0px; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 17px;"><span>755</span></td> <td style="vertical-align: bottom; height: 17px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 17px;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">—</span></td> <td style="vertical-align: bottom; height: 17px;"><br/></td> </tr> <tr style="background-color: #d6f3e8; height: 17px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Right-of-use assets (operating leases)</span></td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 2px 0px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"> <p style="text-align: right;"><span>—</span></p> </td> <td style="padding: 0px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 0px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 2px 0px 2px 2px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 2px 0px; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 17px;"> <p>478<br/></p> </td> <td style="padding: 0px; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; text-align: right; height: 17px;"><span>—</span></td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; text-align: right; height: 17px;"><span>340</span></td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 17px;"><br/></td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Inventory allowances </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 549 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 610 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Accrued expenses </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 129 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 110 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Warranty accrual </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 182 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 173 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Deferred revenue </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 214 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 429 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal and state tax credits </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,960 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,001 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Federal and state net operating loss carry forwards </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 275 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 555 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Share-based compensation </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 358 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; height: 18px;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 369 </span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 10px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other, net </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 113 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">50</span></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 114 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">18</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 10px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Subtotal </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,795 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; border-top: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 784 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 1pt solid #000000; border-top: 1pt solid #000000; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,316 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 645 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Valuation allowance </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1,414</span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;">)</td> <td style="padding: 2px 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">—</span><br/></p> </td> <td style="padding: 0px; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> (1,679 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-right: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> ) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">—</span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px; background-color: #d6f3e8;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total deferred tax assets and liabilities </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,381 </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 2px 0px; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 784 </span></p> </td> <td style="padding: 0px; vertical-align: bottom; border-bottom: 2.8pt double #000000; border-top: 1pt solid #000000; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,637 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 645 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">    </span></p> </td> </tr> </tbody> </table> </div> </div> 176000 251000 200000 287000 839000 755000 478000 340000 549000 5000 610000 0 129000 110000 182000 173000 214000 429000 3960000 4001000 275000 555000 358000 369000 113000 50000 114000 18000 6795000 784000 7316000 645000 1414000 1679000 5381000 784000 5637000 645000 P3Y -265000 122000 4000000.0 59000 46000 <div style="border-left: none; border-right: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; font-weight: bold;">NOTE 11</span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">–</span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">OPERATING LEASES</span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We lease a</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">61,208 square foot mixed office and warehouse facility in Golden Valley, Minnesota. The lease has a term of</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">91 months and expires on</span><span style="font-size: 10pt;"> July 31, 2026</span><span style="font-size: 10pt;">. The lease contains a rent escalation clause,</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">one <span style="border-left: none; border-right: none;"><span style="border-right: none; border-left: none;"><span>three year</span></span><span> </span></span>renewal option and incentives.</span><span style="font-size: 10pt;"> Rental expense, including the effects of lease incentives, is recognized on a straight-line basis over the term of the lease. We did not include the renewal option in our accounting for the lease because it is not reasonably certain that we will exercise the option. We are also required to pay insurance, property taxes and other operating expenses related to the leased facility, which are not fixed or tied to an index.</span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">In February 2020, we finalized a new lease for our existing 19,805 square foot mixed office and warehouse facility in Singapore, which serves as a sales, development and final assembly and integration facility for our inspection and metrology system products. The new lease does not contain any incentives or renewal options and runs through July 2023. We</span></span><span style="font-size: 10pt;"><span style="font-family: 'times new roman', times; color: #000000;"><span style="font-family: 'times new roman', times; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box;"> also have operating leases for small facilities in Taiwan, the United Kingdom and China which expire in June 2023, May 2023 and November 2022, respectively. </span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; color: #000000;"><span style="font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box;">The components of our costs for operating leases are as follows:</span></span></span></p> <div id="t_ft_9HIWF8STIO00000000000000000000b"> <table border="0" cellpadding="0" style="width: 99.796%; border-collapse: collapse; height: 80px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 12px;"> <td style="padding: 0.75pt; height: 12px; width: 68.0109%;"><br/></td> <td style="padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td colspan="3" style="padding: 0.75pt; height: 12px; width: 15%;"/> <td style="padding: 0.75pt; height: 12px; width: 0.980926%;"/> <td style="padding: 0.75pt; width: 1.25346%;"><br/></td> <td style="padding: 0.75pt; height: 12px; width: 13.7329%;"/> </tr> <tr style="height: 10px;"> <td style="padding: 0.75pt; height: 10px; width: 68.0109%;"/> <td style="padding: 0.75pt; height: 10px; width: 1.03542%;"/> <td colspan="3" style="padding: 0.75pt; height: 10px; text-align: center; width: 15%;" valign="bottom"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; /* background-color: #ffffff; */text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="font-size: 8.0pt;">Year Ended</span></strong></td> <td style="padding: 0.75pt; height: 10px; width: 0.980926%;"/> <td style="padding: 0.75pt; width: 1.25346%;"><br/></td> <td style="padding: 0.75pt; height: 10px; width: 13.7329%;" valign="bottom"> <p style="text-align: center; margin-right: 0in; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif;"><strong><span style="font-size: 8.0pt;"> Year Ended</span></strong></p> </td> </tr> <tr style="height: 10px;"> <td style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0.75pt; height: 10px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><strong><span style="font-size: 8.0pt;">Component (in thousands)</span></strong><span style="font-size: 10.0pt;"/></p> </td> <td style="padding: 0.75pt; height: 10px; border-bottom: 1pt solid #000000; width: 1.03542%;"/> <td colspan="3" style="border-top: none; border-right: none; border-left: none; border-image: initial; padding: 0.75pt; height: 10px; border-bottom: 1pt solid #000000; width: 15%; text-align: center;"><span style="color: #000000; font-family: 'times new roman'; font-size: 10.6667px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">December 31, 2020</span></td> <td style="padding: 0.75pt; height: 10px; border-bottom: 1pt solid #000000; width: 0.980926%;"/> <td style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0.75pt; text-align: center; width: 1.25346%;"><br/></td> <td style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0.75pt; height: 10px; text-align: center; width: 13.7329%;"><span style="font-weight: bold; font-size: 8pt;">December 31, 2019</span></td> </tr> <tr style="height: 12px;"> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   Operating lease cost </span></p> </td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></p> </td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 13%;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; font-family: 'times new roman', times;">723</span></p> </td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1%;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 0.980926%; text-align: right;"><br/></td> <td style="background: #d6f3e8; padding: 0.75pt; text-align: right; width: 1.25346%;">$</td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; text-align: right; width: 13.7329%;">718</td> </tr> <tr style="height: 12px;"> <td style="padding: 0.75pt; height: 12px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   Variable lease cost </span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td style="padding: 0.75pt; height: 12px; width: 1%;"/> <td style="padding: 0.75pt; height: 12px; width: 13%;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; font-family: 'times new roman', times;">272</span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 1%;"/> <td style="padding: 0.75pt; height: 12px; width: 0.980926%;"/> <td style="padding: 0.75pt; text-align: right; width: 1.25346%;"><br/></td> <td style="padding: 0.75pt; height: 12px; text-align: right; width: 13.7329%;">269</td> </tr> <tr style="height: 12px;"> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   Short-term lease cost </span></p> </td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 13%; border-bottom: 1pt solid #000000; text-align: right;"><span style="font-size: 10pt; font-family: 'times new roman', times;">38</span></td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1%;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 0.980926%;"/> <td style="background: #d6f3e8; padding: 0.75pt; text-align: right; width: 1.25346%;"><br/></td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; text-align: right; width: 13.7329%;">21</td> </tr> <tr style="height: 12px;"> <td style="padding: 0.75pt; height: 12px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   Total </span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td style="padding: 0.75pt; height: 12px; width: 1%; border-bottom-width: 2.8pt; border-bottom-style: double; border-bottom-color: #000000;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 13%; border-bottom-width: 2.8pt; border-bottom-style: double; border-bottom-color: #000000;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; font-family: 'times new roman', times;">1,033</span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 1%;"/> <td style="padding: 0.75pt; height: 12px; width: 0.980926%; text-align: right;"><br/></td> <td style="border-top: 1pt solid black; border-left: none; border-bottom: 2.25pt double black; border-right: none; padding: 0.75pt; text-align: right; width: 1.25346%;">$</td> <td style="border-top: 1pt solid black; border-left: none; border-bottom: 2.25pt double black; border-right: none; padding: 0.75pt; height: 12px; text-align: right; width: 13.7329%;">1,008</td> </tr> </tbody> </table> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; color: #000000;"><span style="font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box;">Variable lease costs generally consists of real estate taxes and insurance for leased facilities, which are paid based on actual costs incurred by the lessor.</span></span></span><br/></p> <div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="border-left: none; border-right: none;"><span style="font-size: 10pt;"><br/></span></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="border-left: none; border-right: none;">At December 31, 2020, the future maturities of lease liabilities are as follows:</span></span></p> <table cellpadding="0" style="height: 197px; border-collapse: collapse; width: 100%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 12.8698%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Twelve months ending December 31, </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 15.8284%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> <span style="border-left: none; border-right: none;">2021</span></span></p> </td> <td style="border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 12.8698%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,011 </span></p> </td> <td style="border-top: 0.75pt solid #000000; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> <span style="border-left: none; border-right: none;">2022</span></span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 14.3491%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,023 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> <span style="border-left: none; border-right: none;">2023</span></span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; height: 18px; margin-left: 0.1px; vertical-align: bottom; background-color: #d6f3e8; width: 14.3491%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 878 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 84.3195%;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="border-left: none; border-right: none;">2024</span></span></td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; height: 18px; text-align: right; vertical-align: bottom; width: 14.3491%;"><span style="border-left: none; border-right: none; font-family: 'times new roman', times; font-size: 10pt;">658</span></td> <td style="vertical-align: bottom; height: 18px; width: 1.47929%;"><br/></td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> <span style="border-left: none; border-right: none;">2025</span></span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 14.3491%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 674 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 84.3195%;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><span style="border-left: none; border-right: none;">2026</span> &amp; Thereafter</span></td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 14.3491%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">403</span><br/></td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px; width: 1.47929%;"><br/></td> </tr> <tr style="height: 19px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 19px; background-color: #d6f3e8; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total lease payments </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; background-color: #d6f3e8; width: 12.8698%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,647</span></p> </td> <td style="vertical-align: bottom; height: 19px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">    </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 39px; vertical-align: bottom; height: 17px; width: 84.3195%;">Less: amount representing interest</td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; width: 1.47929%;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 17px; width: 12.8698%;">584</td> <td style="vertical-align: bottom; height: 17px; width: 1.47929%;"><br/></td> </tr> <tr style="background-color: #d6f3e8; height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9px; vertical-align: bottom; background-color: #d6f3e8; height: 17px; width: 84.3195%;">Present value of operating lease liabilities</td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px; width: 1.47929%;">$</td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px; text-align: right; width: 12.8698%;">4,063</td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; background-color: #d6f3e8; height: 17px; width: 1.47929%;"><br/></td> </tr> </tbody> </table> </div> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> </span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">At December 31, 2020, the weighted average remaining term of our operating leases was 4.85 years, and the weighted average discount rate applied to our operating leases was 5.2%. At December 31, 2019, the weighted average remaining term of our operating leases was 6.11 years, and the weighted average discount rate applied to our operating leases was 5.7%.</span></span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><br/></span></span></p> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Cash paid for amounts included in the measurement of operating lease liabilit<span>ies was $</span>975,000<span> in</span> 2020 and $635,000 in 2019. <span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Operating lease liabilities and right-of-use assets were increased for new non-cash leases by $</span>941,000<span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"><span> in </span>2020 and $70,000 in 2019. </span>Incentives from the landlord recorded as leasehold improvements in 2019 were $783,000.</span></span></p> 61208 P91M 1 P3Y 19805 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; color: #000000;"><span style="font-size: 10pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box;">The components of our costs for operating leases are as follows:</span></span></span></p> <div id="t_ft_9HIWF8STIO00000000000000000000b"> <table border="0" cellpadding="0" style="width: 99.796%; border-collapse: collapse; height: 80px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 12px;"> <td style="padding: 0.75pt; height: 12px; width: 68.0109%;"><br/></td> <td style="padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td colspan="3" style="padding: 0.75pt; height: 12px; width: 15%;"/> <td style="padding: 0.75pt; height: 12px; width: 0.980926%;"/> <td style="padding: 0.75pt; width: 1.25346%;"><br/></td> <td style="padding: 0.75pt; height: 12px; width: 13.7329%;"/> </tr> <tr style="height: 10px;"> <td style="padding: 0.75pt; height: 10px; width: 68.0109%;"/> <td style="padding: 0.75pt; height: 10px; width: 1.03542%;"/> <td colspan="3" style="padding: 0.75pt; height: 10px; text-align: center; width: 15%;" valign="bottom"><strong style="color: #000000; font-family: 'Times New Roman', serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; /* background-color: #ffffff; */text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="font-size: 8.0pt;">Year Ended</span></strong></td> <td style="padding: 0.75pt; height: 10px; width: 0.980926%;"/> <td style="padding: 0.75pt; width: 1.25346%;"><br/></td> <td style="padding: 0.75pt; height: 10px; width: 13.7329%;" valign="bottom"> <p style="text-align: center; margin-right: 0in; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif;"><strong><span style="font-size: 8.0pt;"> Year Ended</span></strong></p> </td> </tr> <tr style="height: 10px;"> <td style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0.75pt; height: 10px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><strong><span style="font-size: 8.0pt;">Component (in thousands)</span></strong><span style="font-size: 10.0pt;"/></p> </td> <td style="padding: 0.75pt; height: 10px; border-bottom: 1pt solid #000000; width: 1.03542%;"/> <td colspan="3" style="border-top: none; border-right: none; border-left: none; border-image: initial; padding: 0.75pt; height: 10px; border-bottom: 1pt solid #000000; width: 15%; text-align: center;"><span style="color: #000000; font-family: 'times new roman'; font-size: 10.6667px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">December 31, 2020</span></td> <td style="padding: 0.75pt; height: 10px; border-bottom: 1pt solid #000000; width: 0.980926%;"/> <td style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0.75pt; text-align: center; width: 1.25346%;"><br/></td> <td style="border-top: none; border-right: none; border-left: none; border-image: initial; border-bottom: 1pt solid black; padding: 0.75pt; height: 10px; text-align: center; width: 13.7329%;"><span style="font-weight: bold; font-size: 8pt;">December 31, 2019</span></td> </tr> <tr style="height: 12px;"> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   Operating lease cost </span></p> </td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></p> </td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 13%;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; font-family: 'times new roman', times;">723</span></p> </td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1%;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 0.980926%; text-align: right;"><br/></td> <td style="background: #d6f3e8; padding: 0.75pt; text-align: right; width: 1.25346%;">$</td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; text-align: right; width: 13.7329%;">718</td> </tr> <tr style="height: 12px;"> <td style="padding: 0.75pt; height: 12px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   Variable lease cost </span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td style="padding: 0.75pt; height: 12px; width: 1%;"/> <td style="padding: 0.75pt; height: 12px; width: 13%;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; font-family: 'times new roman', times;">272</span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 1%;"/> <td style="padding: 0.75pt; height: 12px; width: 0.980926%;"/> <td style="padding: 0.75pt; text-align: right; width: 1.25346%;"><br/></td> <td style="padding: 0.75pt; height: 12px; text-align: right; width: 13.7329%;">269</td> </tr> <tr style="height: 12px;"> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   Short-term lease cost </span></p> </td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 13%; border-bottom: 1pt solid #000000; text-align: right;"><span style="font-size: 10pt; font-family: 'times new roman', times;">38</span></td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 1%;"/> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; width: 0.980926%;"/> <td style="background: #d6f3e8; padding: 0.75pt; text-align: right; width: 1.25346%;"><br/></td> <td style="background: #d6f3e8; padding: 0.75pt; height: 12px; text-align: right; width: 13.7329%;">21</td> </tr> <tr style="height: 12px;"> <td style="padding: 0.75pt; height: 12px; width: 68.0109%;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10.0pt;">   Total </span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 1.03542%;"/> <td style="padding: 0.75pt; height: 12px; width: 1%; border-bottom-width: 2.8pt; border-bottom-style: double; border-bottom-color: #000000;"> <p style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="color: #000000; font-family: 'times new roman'; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: right; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 13%; border-bottom-width: 2.8pt; border-bottom-style: double; border-bottom-color: #000000;"> <p style="text-align: right; margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt; font-family: 'times new roman', times;">1,033</span></p> </td> <td style="padding: 0.75pt; height: 12px; width: 1%;"/> <td style="padding: 0.75pt; height: 12px; width: 0.980926%; text-align: right;"><br/></td> <td style="border-top: 1pt solid black; border-left: none; border-bottom: 2.25pt double black; border-right: none; padding: 0.75pt; text-align: right; width: 1.25346%;">$</td> <td style="border-top: 1pt solid black; border-left: none; border-bottom: 2.25pt double black; border-right: none; padding: 0.75pt; height: 12px; text-align: right; width: 13.7329%;">1,008</td> </tr> </tbody> </table> </div> 723000 718000 272000 269000 38000 21000 1033000 1008000 At December 31, 2020, the future maturities of lease liabilities are as follows: <table cellpadding="0" style="height: 197px; border-collapse: collapse; width: 100%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 12.8698%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">Twelve months ending December 31, </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 15.8284%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> <span style="border-left: none; border-right: none;">2021</span></span></p> </td> <td style="border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 12.8698%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,011 </span></p> </td> <td style="border-top: 0.75pt solid #000000; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> <span style="border-left: none; border-right: none;">2022</span></span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 14.3491%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,023 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> <span style="border-left: none; border-right: none;">2023</span></span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; height: 18px; margin-left: 0.1px; vertical-align: bottom; background-color: #d6f3e8; width: 14.3491%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 878 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 84.3195%;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="border-left: none; border-right: none;">2024</span></span></td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; height: 18px; text-align: right; vertical-align: bottom; width: 14.3491%;"><span style="border-left: none; border-right: none; font-family: 'times new roman', times; font-size: 10pt;">658</span></td> <td style="vertical-align: bottom; height: 18px; width: 1.47929%;"><br/></td> </tr> <tr style="height: 18px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> <span style="border-left: none; border-right: none;">2025</span></span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 14.3491%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 674 </span></p> </td> <td style="vertical-align: bottom; height: 18px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 18px; width: 84.3195%;"><span style="font-size: 10pt; font-family: 'times new roman', times;"><span style="border-left: none; border-right: none;">2026</span> &amp; Thereafter</span></td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 14.3491%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">403</span><br/></td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; height: 18px; width: 1.47929%;"><br/></td> </tr> <tr style="height: 19px; background-color: #d6f3e8;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; height: 19px; background-color: #d6f3e8; width: 84.3195%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total lease payments </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; background-color: #d6f3e8; width: 12.8698%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,647</span></p> </td> <td style="vertical-align: bottom; height: 19px; background-color: #d6f3e8; width: 1.47929%;"> <p style="margin: 0pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">    </span></p> </td> </tr> <tr style="height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 39px; vertical-align: bottom; height: 17px; width: 84.3195%;">Less: amount representing interest</td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 17px; width: 1.47929%;"><br/></td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; text-align: right; height: 17px; width: 12.8698%;">584</td> <td style="vertical-align: bottom; height: 17px; width: 1.47929%;"><br/></td> </tr> <tr style="background-color: #d6f3e8; height: 17px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9px; vertical-align: bottom; background-color: #d6f3e8; height: 17px; width: 84.3195%;">Present value of operating lease liabilities</td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px; width: 1.47929%;">$</td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 17px; text-align: right; width: 12.8698%;">4,063</td> <td style="border-bottom: 2.25pt double #000000; border-top: 0.75pt solid #000000; vertical-align: bottom; background-color: #d6f3e8; height: 17px; width: 1.47929%;"><br/></td> </tr> </tbody> </table> 1011000 1023000 878000 658000 674000 403000 4647000 584000 4063000 P4Y10M6D 0.052 P6Y1M9D 0.057 975000 635000 941000 70000 783000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; font-weight: bold;">NOTE</span></span><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; font-weight: bold;"> 12</span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">–</span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">401(K) AND OTHER DEFINED CONTRIBUTION PLANS<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We have a retirement savings plan pursuant to Section 401(k) of the Internal Revenue Code (Code), under which eligible employees may contribute a portion of their earnings, not to exceed annual amounts allowed under the Code. In addition, we may also make contributions at the discretion of the Board of Directors. We provided matching contributions to employees totaling $303,000 in 2020</span><span style="font-size: 10pt;"> and </span><span style="font-size: 10pt;">$317,000 in</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">2019.</span></span><span style="font-size: 10pt;"><br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt;">We also contribute to defined contribution retirement savings plans on behalf of our employees in the United Kingdom and Taiwan. We made contributions to these plans totaling <span style="color: #000000; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$39,000 in 2020 and</span></span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">$32,000 in</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;"><span style="border-left: none; border-right: none;">2019.</span></span></span></p> 303000 317000 39000 32000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="/* background-color: #ffffff;"><span style="font-weight: bold;">NOTE <span style="border-left: none; border-right: none;">13</span></span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span></span><span style="font-weight: bold;"><span style="/* background-color: #ffffff;">REVENUE CONCENTRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS</span><br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The following summarizes our revenue by product line: <br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_UMH62EYYR400000000000000000000b"> <table cellpadding="0" style="height: 109px; border-collapse: collapse; width: 100%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 71.7873%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="vertical-align: middle; height: 18px; width: 1.77253%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">    Year Ended December 31, </span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 71.7873%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 12.9985%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.26%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 71.7873%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> High Precision 3D and 2D Sensors </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.32939%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.77253%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; width: 9.8966%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-size: 10pt; font-family: 'times new roman', times;"> 17,522 </span></span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; width: 1.32939%; height: 18px;"> <p style="margin: 0pt;"><span>   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.32939%; height: 18px;"> <p style="margin: 0pt;"><span>   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.4771%; height: 18px;"> <p style="margin: 0pt;"><span> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.8966%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,579 </span></span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.886263%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 71.7873%;"> <p style="margin: 0pt;"><span> Inspection and Metrology Systems </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.77253%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.8966%;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> 37,547 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3737%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 32,713 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.886263%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 71.7873%;"> <p style="margin: 0pt;"><span> Semiconductor Sensors </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.77253%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.8966%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15,048 </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3737%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 13,971 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.886263%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; width: 71.7873%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total </span></p> </td> <td style="padding: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="/* background-color: #ffffff; */padding: 1.5pt; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 19px; margin-left: 0.1px; vertical-align: bottom; width: 1.77253%;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="/* background-color: #ffffff; */padding: 1.5pt; border-bottom: 2.8pt double #000000; height: 19px; text-align: right; vertical-align: bottom; margin-left: 0.1px; border-top: 1pt solid #000000; width: 9.8966%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 70,117 </span></p> </td> <td style="padding: 1.5pt; border-bottom: 2.8pt double #000000; height: 19px; margin-left: 0.1px; text-align: right; vertical-align: bottom; border-top: 1pt solid #000000; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; border-top: 1pt solid #000000; width: 1.4771%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; border-top: 1pt solid #000000; width: 9.8966%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 59,263 </span></p> </td> <td style="/* background-color: #ffffff; */border-bottom: 2.25pt double #000000; height: 19px; margin-left: 0.1px; vertical-align: bottom; border-top: 1pt solid #000000; width: 0.886263%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; font-family: 'times new roman', times;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt; font-family: 'times new roman', times;"><span><span class="selected" style="font-family: 'times new roman', times; font-size: 10pt;"><span class="selected" style="/* background-color: #ffffff;">Revenue from sales of high precision 3D and 2D sensors based on our 3D Multi-Reflection Suppression™ (MRS™) technology was $11.6 million in <span style="border-left: none; border-right: none;">2020</span> and $6.0 million in <span style="border-left: none; border-right: none;">2019</span>. Revenue from sales of inspection and metrology systems based on our 3D MRS sensor technology was $20.2 million in <span style="border-left: none; border-right: none;">2020</span> and $17.9 million in <span style="border-left: none; border-right: none;">2019</span>.</span></span></span><br/></p> <div style="border-left: none; border-right: none;"> <div><span style="font-size: 10pt; font-family: 'times new roman', times;"><br/></span></div> <div><span style="font-size: 10pt; font-family: 'times new roman', times;">In 2020, <span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">sales to significant customer A accounted for 14% of our total revenues, and sales to significant customer B accounted for 13% of our total revenues. </span>As of December 31, 2020, accounts receivable from significant customer A were $2.1 million, accounts receivable from significant customer B were $905,000 and accounts receivable from significant customer C were<span><span> $</span></span>1.9<span><span> million.</span></span> No customer accounted for more than 10% of our total revenues in 2019.</span><br/></div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Export revenues as a percentage<span style="/* background-color: #ffffff;"> of<span> total revenues were<span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;"> </span>80<span style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; /* background-color: #ffffff;">% in </span>2020<span class="selected" style="color: #000000; font-family: 'times new roman', times; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; /* background-color: #ffffff;"> and 76% in 2019. Export revenues are attributed to the country where the product is shipped. Substantially all of our export revenues are negotiated, invoiced and paid in U.S. dollars.</span></span></span></span></p> <p style="margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Revenues by geographic area is summarized as follows:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_133FGY9NU800000000000000000000b"> <table cellpadding="0" style="border-collapse: collapse; width: 99.5%; margin-left: 0px; height: 219px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="vertical-align: middle; height: 10px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 24.9315%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px; width: 12%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> <strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 11.9452%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span> United States </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,134 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,459 </span></p> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Netherlands </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,237 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,658 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other Europe </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,017 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,009 </span></p> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="/* background-color: #ffffff;"> China </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 18,903 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 11,553 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Singapore </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">3,797</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">4,120</span></p> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> South Korea </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,376 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,678 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Japan </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,172 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,630 </span></p> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other Asia </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 11,702 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,496 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,779 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,660 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total revenues </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 19px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 19px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 70,117 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 19px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.9726%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 59,263 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Long</span><span style="font-family: 'times new roman', times; font-size: 10pt;">-lived assets include equipment and leasehold improvements and intangible and other assets attributable to each geographic area’s operations. Long-lived assets at December 31, 2020 and 2019 are as follows:</span></p> <table cellpadding="0" style="border-collapse: collapse; width: 99.5%; margin-left: 0px; height: 127px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4881%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Long-lived assets: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span> United States </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,814 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,256 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Europe </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asia and other </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 740 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 395 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total long-lived assets </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,560 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.4881%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,651 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">    </span></p> </td> </tr> </tbody> </table> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The following summarizes our revenue by product line: <br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><br/></span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_UMH62EYYR400000000000000000000b"> <table cellpadding="0" style="height: 109px; border-collapse: collapse; width: 100%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 71.7873%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="vertical-align: middle; height: 18px; width: 1.77253%; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: #000000;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">    Year Ended December 31, </span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 71.7873%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 12.9985%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.26%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 71.7873%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> High Precision 3D and 2D Sensors </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.32939%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.77253%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; width: 9.8966%; height: 18px;"> <p style="margin: 0pt;"><span><span style="font-size: 10pt; font-family: 'times new roman', times;"> 17,522 </span></span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; width: 1.32939%; height: 18px;"> <p style="margin: 0pt;"><span>   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1.32939%; height: 18px;"> <p style="margin: 0pt;"><span>   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1.4771%; height: 18px;"> <p style="margin: 0pt;"><span> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 9.8966%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,579 </span></span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 0.886263%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 71.7873%;"> <p style="margin: 0pt;"><span> Inspection and Metrology Systems </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.77253%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.8966%;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;"> 37,547 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-size: 10pt; font-family: 'times new roman', times;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3737%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 32,713 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.886263%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 71.7873%;"> <p style="margin: 0pt;"><span> Semiconductor Sensors </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.77253%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.8966%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15,048 </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.3737%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 13,971 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.886263%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; width: 71.7873%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total </span></p> </td> <td style="padding: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="/* background-color: #ffffff; */padding: 1.5pt; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 19px; margin-left: 0.1px; vertical-align: bottom; width: 1.77253%;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="/* background-color: #ffffff; */padding: 1.5pt; border-bottom: 2.8pt double #000000; height: 19px; text-align: right; vertical-align: bottom; margin-left: 0.1px; border-top: 1pt solid #000000; width: 9.8966%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 70,117 </span></p> </td> <td style="padding: 1.5pt; border-bottom: 2.8pt double #000000; height: 19px; margin-left: 0.1px; text-align: right; vertical-align: bottom; border-top: 1pt solid #000000; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; width: 1.32939%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; border-top: 1pt solid #000000; width: 1.4771%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; height: 19px; margin-left: 0.1px; vertical-align: bottom; border-top: 1pt solid #000000; width: 9.8966%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 59,263 </span></p> </td> <td style="/* background-color: #ffffff; */border-bottom: 2.25pt double #000000; height: 19px; margin-left: 0.1px; vertical-align: bottom; border-top: 1pt solid #000000; width: 0.886263%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> 17522000 12579000 37547000 32713000 15048000 13971000 70117000 59263000 11600000 6000000.0 20200000 17900000 0.14 0.13 2100000 905000 1900000 0 0.10 0.10 0.80 0.76 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">Revenues by geographic area is summarized as follows:</span></p> <div style="border-left: none; border-right: none;"> <div id="t_ft_133FGY9NU800000000000000000000b"> <table cellpadding="0" style="border-collapse: collapse; width: 99.5%; margin-left: 0px; height: 219px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="vertical-align: middle; height: 10px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="7" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 18px; width: 24.9315%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Year Ended December 31,</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="padding: 1.5pt; vertical-align: bottom; border-bottom: 1pt solid #000000; height: 10px; width: 12%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"> <strong>2020</strong></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; border-top: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 11.9452%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span> United States </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,134 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,459 </span></p> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Netherlands </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,237 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 1,658 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other Europe </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,017 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,009 </span></p> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="/* background-color: #ffffff;"> China </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 18,903 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 11,553 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Singapore </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">3,797</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">4,120</span></p> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> South Korea </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,376 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 4,678 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Japan </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,172 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,630 </span></p> </td> <td style="vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other Asia </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 11,702 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 8,496 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="background-color: #d6f3e8; height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Other </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; background-color: #d6f3e8; height: 18px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,779 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; border-bottom: 1pt solid #000000; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 10.9589%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,660 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; background-color: #d6f3e8; height: 18px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 73.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total revenues </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; border-top: 1pt solid #000000; border-bottom: 2.8pt double #000000; height: 19px; width: 1.0411%;"> <p style="margin: 0pt;"><span style="color: #000000; font-family: 'times new roman', times; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">$</span><br/></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 19px; width: 9.9726%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 70,117 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; text-align: right; border-bottom: 2.8pt double #000000; height: 19px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 19px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 19px; width: 9.9726%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 59,263 </span></p> </td> <td style="border-bottom: 2.25pt double #000000; vertical-align: bottom; height: 19px; width: 0.986301%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> 14134000 14459000 2237000 1658000 7017000 8009000 18903000 11553000 3797000 4120000 6376000 4678000 3172000 3630000 11702000 8496000 2779000 2660000 70117000 59263000 Long-lived assets at December 31, 2020 and 2019 are as follows: <table cellpadding="0" style="border-collapse: collapse; width: 99.5%; margin-left: 0px; height: 127px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 10%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> (In thousands) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12.4881%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; width: 12%; height: 18px;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Long-lived assets: </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span> United States </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 2,814 </span></p> </td> <td style="vertical-align: bottom; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,256 </span></p> </td> <td style="vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Europe </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> — </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt 1.5pt 1.5pt 9pt; vertical-align: bottom; width: 74%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Asia and other </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 740 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1.4881%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="border-bottom: 0.75pt solid #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 11%; height: 18px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 395 </span></p> </td> <td style="border-bottom: 0.75pt solid #000000; vertical-align: bottom; width: 1%; height: 18px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 19px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 74%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Total long-lived assets </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,560 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1.4881%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; width: 10%; height: 19px;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 3,651 </span></p> </td> <td style="background-color: #d6f3e8; border-bottom: 2.25pt double #000000; vertical-align: bottom; width: 1%; height: 19px;"> <p style="margin: 0pt;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">    </span></p> </td> </tr> </tbody> </table> 2814000 3256000 6000 0 740000 395000 3560000 3651000 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><strong>NOTE</strong><span style="font-weight: bold;"> <span style="border-left: none; border-right: none;">14</span></span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">SHARE REPURCHASES<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">In <span>July 2019, our Board of Directors authorized a $</span>3.0<span> million s</span>hare repurchase program which expired on June 30, 2020. There were no share repurchases under this program in 2020 prior to its expiration. In 2019, we spent $353,000 under this program to repurchase 25,985 shares of our common stock. </span></p> 3000000.0 0 353000 25985 <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; font-weight: bold;">NOTE <span style="border-left: none; border-right: none;">15</span></span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">–</span><span style="font-size: 10pt; font-weight: bold;"> </span><span style="font-size: 10pt; font-weight: bold;">CONTINGENCIES</span></span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times;"><span style="font-size: 10pt; font-weight: bold;"><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">We are periodically a defendant in miscellaneous lawsuits, claims and disputes in the ordinary course of business. While the outcome of these matters cannot be predicted with certainty, management presently believes the disposition of these matters will not have a material effect on our financial position, results of operations or cash flows.<br/><br/></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">In the normal course of business to facilitate sales of our products and services, we at times indemnify other parties, including customers, with respect to certain matters. In these instances, we have agreed to hold the other parties harmless against losses arising out of intellectual property infringement or other types of claims. These agreements may limit the time within which an indemnification claim can be made, and almost always limits the amount of the claim. It is not possible to determine the maximum potential amount of exposure under these indemnification agreements due to the limited history of prior indemnification claims and the unique facts and circumstances involved in each particular agreement. Historically, payments made, if any, under these agreements have not had a material impact on our operating results, financial position or cash flows.</span></p> <div style="border-left: none; border-right: none;"> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"><span style="font-weight: bold;">NOTE 16</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">–</span><span style="font-weight: bold;"> </span><span style="font-weight: bold;">QUARTERLY FINANCIAL INFORMATION (UNAUDITED)<br/><br/></span></span></p> <p style="font-size: 10pt; line-height: 120%; margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">(In thousands, except per share amount</span><strong><span style="font-family: 'times new roman', times; font-size: 10pt;">s</span></strong><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;">)</span><br/></p> <p style="font-size: 10pt; line-height: 120%; margin: 0px; text-indent: 0px;"><span style="font-family: 'times new roman', times; font-size: 10pt; font-weight: bold;"><br/></span></p> <div style="border-right: none; border-left: none;"> <div id="t_ft_2P43LDS2M800000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 99.6721%; height: 110px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 33.2366%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.6334%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> March 31 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.627%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> June 30 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.0464%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> September 30 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.0464%;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">December 31</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.1611%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.2991%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Total</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Revenues</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">16,429</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.45773%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">15,996</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">20,820</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">16,872</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; height: 10px; width: 1.45138%; vertical-align: top;" valign="top"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  $</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 10px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">70,117</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Gross margin </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,283</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45773%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,314</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">8,695</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,925</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">31,217</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Income from operations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">729</span><br/></p> </td> <td style="background-color: #d6f3e8; height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 1.45773%;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,473</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">2,210</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: middle; height: 18px; width: 0.870827%;" valign="middle"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,585</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5,997</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">844</span><br/></p> </td> <td style="height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 1.45773%;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,633</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,799</span><br/></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;" valign="middle"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,466</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5,742</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income per share - Basic (1) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.12</span><br/></p> </td> <td style="background-color: #d6f3e8; height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 1.45773%;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.23</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.25</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: middle; height: 18px; width: 0.870827%;" valign="middle"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.20</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.80</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income per share - Diluted (1) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.11</span><br/></p> </td> <td style="height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 1.45773%;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.22</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.24</span><br/></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;" valign="middle"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.20</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.77</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <div style="border-right: none; border-left: none;"> <div id="t_ft_JO3PKCM01S00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 136px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.72424%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.72424%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 10.7078%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870823%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 10.0522%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.0464%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> March 31 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.0464%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> June 30 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 13.0301%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> September 30 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.897%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-weight: bold;">December 31</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">  </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 11.4659%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Total</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Revenues </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,976 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"><br/></td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15,044 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"><br/></td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 10.7078%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,391 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870823%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 0.819672%;"><br/></td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 10.0522%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 16,852 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.39344%;"><br/></td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.819672%;"><br/></td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.1611%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 10px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">59,263</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"><br/></td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Gross margin </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,026 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,589 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,506 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870823%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,181 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">26,302</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Income (loss) from operations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">570</span></p> </td> <td style="background-color: #d6f3e8; height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 0.870827%;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 579 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(757</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; padding: 0px 0px 2px; width: 0.870823%;">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 544 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">936</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income (loss)</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">495</span></p> </td> <td style="height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 0.870827%;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 464 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(353</span></p> </td> <td style="vertical-align: bottom; height: 18px; padding: 0px 0px 2px; width: 0.870823%;">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 168 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">774</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income (loss) per share - Basic (1) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.07</span></p> </td> <td style="background-color: #d6f3e8; height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 0.870827%;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.07 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(0.05</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; padding: 0px 0px 2px; width: 0.870823%;">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.02 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.11</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income (loss) per share - Diluted (1) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.07</span></p> </td> <td style="height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 0.870827%;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.06 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(0.05</span></p> </td> <td style="vertical-align: bottom; height: 18px; padding: 0px 0px 2px; width: 0.870823%;">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.02 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">    </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.11</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <div style="border-right: none; border-left: none;"> <div id="t_ft_U4I9H6PJPC00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; width: 100%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr> <td colspan="3" style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> <div id="t_ft_UT7HPNGZ2O00000000000000000000"> <table border="0" cellpadding="0" style="width: 100%; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr> <td style="vertical-align: top; width: 4%;" valign="top"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1)</span></td> <td style="width: 96%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely.</span></td> </tr> </tbody> </table> </div> </div> </div> <div style="border-right: none; border-left: none;"> <div id="t_ft_2P43LDS2M800000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 99.6721%; height: 110px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 10px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 33.2366%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2020 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.6334%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> March 31 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.627%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> June 30 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.0464%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> September 30 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.0464%;"> <p style="margin: 0pt; text-align: center;"><span><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">December 31</span></span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.1611%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 12.2991%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Total</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Revenues</span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">16,429</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.45773%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">15,996</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">20,820</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">16,872</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; height: 10px; width: 1.45138%; vertical-align: top;" valign="top"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">  $</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 10px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">70,117</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Gross margin </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,283</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45773%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,314</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">8,695</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">7,925</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">31,217</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Income from operations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">729</span><br/></p> </td> <td style="background-color: #d6f3e8; height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 1.45773%;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,473</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">2,210</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: middle; height: 18px; width: 0.870827%;" valign="middle"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,585</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5,997</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">844</span><br/></p> </td> <td style="height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 1.45773%;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,633</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,799</span><br/></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;" valign="middle"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">1,466</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">5,742</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income per share - Basic (1) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.12</span><br/></p> </td> <td style="background-color: #d6f3e8; height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 1.45773%;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.23</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.25</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: middle; height: 18px; width: 0.870827%;" valign="middle"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.20</span><br/></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.80</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 33.2366%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income per share - Diluted (1) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.11</span><br/></p> </td> <td style="height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 1.45773%;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.22</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.24</span><br/></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;" valign="middle"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.20</span><br/></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.6422%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.77</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.20555%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <div style="border-right: none; border-left: none;"> <div id="t_ft_JO3PKCM01S00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; margin-left: 0pt; width: 100%; height: 136px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr style="height: 18px;"> <td style="vertical-align: middle; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.72424%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.72424%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 10.7078%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870823%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 10.0522%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td style="vertical-align: middle; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> 2019 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.0464%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> March 31 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.0464%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> June 30 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 13.0301%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;"> September 30 </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 8pt;">   </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 12.897%;"> <p style="margin: 0pt; text-align: center;"><span style="font-size: 8pt; font-weight: bold;">December 31</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt; font-weight: bold;">  </span></p> </td> <td colspan="3" style="border-bottom: 0.75pt solid #000000; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 11.4659%;"> <p style="margin: 0pt; text-align: center;"><span style="font-family: 'times new roman', times; font-size: 8pt;"><strong>Total</strong></span></p> </td> </tr> <tr style="height: 10px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Revenues </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 14,976 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"><br/></td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 9.72424%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 15,044 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 1.30624%;"><br/></td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 10.7078%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 12,391 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870823%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 10px; width: 0.819672%;"><br/></td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 1.45138%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> $ </span></p> </td> <td style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 10px; width: 10.0522%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 16,852 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.39344%;"><br/></td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.819672%;"><br/></td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 1.1611%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">$</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 10px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">59,263</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 10px; width: 0.870827%;"><br/></td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Gross margin </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,026 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 6,589 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 5,506 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870823%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 7,181 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">26,302</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Income (loss) from operations </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">570</span></p> </td> <td style="background-color: #d6f3e8; height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 0.870827%;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 579 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(757</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; padding: 0px 0px 2px; width: 0.870823%;">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 544 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">936</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income (loss)</span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">495</span></p> </td> <td style="height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 0.870827%;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 464 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(353</span></p> </td> <td style="vertical-align: bottom; height: 18px; padding: 0px 0px 2px; width: 0.870823%;">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 168 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">774</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income (loss) per share - Basic (1) </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.07</span></p> </td> <td style="background-color: #d6f3e8; height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 0.870827%;" valign="bottom"/> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.07 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(0.05</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; padding: 0px 0px 2px; width: 0.870823%;">)</td> <td style="background-color: #d6f3e8; padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="background-color: #d6f3e8; padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.02 </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.11</span></p> </td> <td style="background-color: #d6f3e8; vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> <tr style="height: 18px;"> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 32.9463%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> Net income (loss) per share - Diluted (1) </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.07</span></p> </td> <td style="height: 18px; padding: 0px 0px 2px; vertical-align: bottom; width: 0.870827%;" valign="bottom"/> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.1756%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.06 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 1.30624%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 12.1592%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;">(0.05</span></p> </td> <td style="vertical-align: bottom; height: 18px; padding: 0px 0px 2px; width: 0.870823%;">)</td> <td style="padding: 1.5pt; vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td colspan="2" style="padding-bottom: 1.5pt; padding-left: 1.5pt; padding-top: 1.5pt; vertical-align: bottom; height: 18px; width: 11.5036%;"> <p style="margin: 0pt; text-align: right;"><span style="font-family: 'times new roman', times; font-size: 10pt;"> 0.02 </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.39344%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">    </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.819672%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 1.1611%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: bottom; text-align: right; height: 18px; width: 9.43396%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">0.11</span></p> </td> <td style="vertical-align: bottom; height: 18px; width: 0.870827%;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> </div> <div style="border-right: none; border-left: none;"> <div id="t_ft_U4I9H6PJPC00000000000000000000"> <table cellpadding="0" style="border-collapse: collapse; width: 100%; margin-left: 0px; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr> <td colspan="3" style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> <td style="vertical-align: middle;"> <p style="margin: 0pt;"><span style="font-family: 'times new roman', times; font-size: 10pt;">   </span></p> </td> </tr> </tbody> </table> </div> <div id="t_ft_UT7HPNGZ2O00000000000000000000"> <table border="0" cellpadding="0" style="width: 100%; font-family: 'times new roman'; font-size: 10pt;" width="100%"> <tbody> <tr> <td style="vertical-align: top; width: 4%;" valign="top"><span style="font-family: 'times new roman', times; font-size: 10pt;">(1)</span></td> <td style="width: 96%;"><span style="font-family: 'times new roman', times; font-size: 10pt;">The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely.</span></td> </tr> </tbody> </table> </div> </div> 16429000 15996000 20820000 16872000 70117000 7283000 7314000 8695000 7925000 31217000 729000 1473000 2210000 1585000 5997000 844000 1633000 1799000 1466000 5742000 0.12 0.23 0.25 0.20 0.80 0.11 0.22 0.24 0.20 0.77 14976000 15044000 12391000 16852000 59263000 7026000 6589000 5506000 7181000 26302000 570000 579000 -757000 544000 936000 495000 464000 -353000 168000 774000 0.07 0.07 -0.05 0.02 0.11 0.07 0.06 -0.05 0.02 0.11 The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely. XML 14 R1.htm IDEA: XBRL DOCUMENT v3.20.4
Document And Entity Information - USD ($)
12 Months Ended
Dec. 31, 2020
Feb. 28, 2021
Jun. 30, 2020
Document And Entity Information [Abstract]      
Document Type 10-K    
Amendment Flag false    
Document Period End Date Dec. 31, 2020    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2020    
Entity Registrant Name CYBEROPTICS CORP    
Entity Central Index Key 0000768411    
Current Fiscal Year End Date --12-31    
Entity Filer Category Non-accelerated Filer    
ICFR Auditor Attestation Flag false    
Entity Common Stock, Shares Outstanding   7,297,867  
Entity Current Reporting Status Yes    
Entity Public Float     $ 225,286,757
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Small Business true    
Entity Emerging Growth Company false    
Entity Shell Company false    
Entity File Number 0-16577    
Entity Incorporation, State or Country Code MN    
Entity Tax Identification Number 41-1472057    
Entity Address, Address Line One 5900 Golden Hills Drive    
Entity Address, City or Town MINNEAPOLIS    
Entity Address, State or Province MN    
Entity Address, Postal Zip Code 55416    
City Area Code (763)    
Local Phone Number 542-5000    
Entity Interactive Data Current Yes    
Title of 12(g) Security Common Stock, no par value    
Trading Symbol CYBE    
Security Exchange Name NASDAQ    
Document Annual Report true    
Document Transition Report false    
XML 15 R2.htm IDEA: XBRL DOCUMENT v3.20.4
Consolidated Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
ASSETS    
Cash and cash equivalents $ 8,399 $ 5,836
Marketable securities 8,121 8,295
Accounts receivable, less allowance for doubtful accounts of $302 at December 31, 2020 and $322 at December 31, 2019 14,735 16,059
Inventories 20,271 15,580
Prepaid expenses 686 559
Other current assets 890 1,020
Total current assets 53,102 47,349
Marketable securities, long-term 14,052 12,168
Equipment and leasehold improvements, net 3,235 3,341
Intangibles, net 325 310
Goodwill 1,366 1,366
Right-of-use assets (operating leases) 2,621 2,111
Trade notes receivable, long-term 418 962
Deferred tax assets 4,597 4,992
Total assets 79,716 72,599
LIABILITIES AND STOCKHOLDERS’ EQUITY    
Accounts payable 5,118 7,023
Advance customer payments 823 499
Accrued expenses 3,893 2,572
Current operating lease liabilities 819 688
Total current liabilities 10,653 10,782
Other liabilities 134 202
Long-term operating lease liabilities 3,244 3,141
Reserve for income taxes 157 150
Total liabilities 14,188 14,275
Commitments and contingencies
Stockholders’ equity:    
Preferred stock, no par value, 5,000,000 shares authorized, none outstanding 0 0
Common stock, no par value, 25,000,000 shares authorized, 7,294,617 shares issued and outstanding at December 31, 2020 and 7,154,591 shares issued and outstanding at December 31, 2019 37,817 36,659
Accumulated other comprehensive loss (1,102) (1,406)
Retained earnings 28,813 23,071
Total stockholders’ equity 65,528 58,324
Total liabilities and stockholders’ equity $ 79,716 $ 72,599
XML 16 R3.htm IDEA: XBRL DOCUMENT v3.20.4
Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
CONSOLIDATED BALANCE SHEETS [Abstract]    
Accounts receivable, allowance for doubtful accounts $ 302 $ 322
Preferred stock, par value (in usd per share)
Preferred stock, shares authorized, shares 5,000,000 5,000,000
Preferred stock, shares outstanding, shares 0 0
Common stock, par value (in usd per share)
Common stock, shares authorized, shares 25,000,000 25,000,000
Common stock, shares issued, shares 7,294,617 7,154,591
Common stock, shares outstanding, shares 7,294,617 7,154,591
XML 17 R4.htm IDEA: XBRL DOCUMENT v3.20.4
Consolidated Statements Of Operations - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]    
Revenues $ 70,117 $ 59,263
Cost of revenues 38,900 32,961
Gross margin 31,217 26,302
Research and development expenses 9,572 9,362
Selling, general and administrative expenses 15,648 16,004
Income from operations 5,997 936
Interest income and other, net 357 224
Income before income taxes 6,354 1,160
Income tax provision 612 386
Net income $ 5,742 $ 774
Net income per share - Basic (in usd per share) [1] $ 0.80 $ 0.11
Net income per share - Diluted (in usd per share) [1] $ 0.77 $ 0.11
Weighted average shares outstanding – Basic, shares 7,215 7,113
Weighted average shares outstanding – Diluted, shares 7,454 7,262
[1] The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely.
XML 18 R5.htm IDEA: XBRL DOCUMENT v3.20.4
Consolidated Statements Of Comprehensive Income - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME [Abstract]    
Net income $ 5,742 $ 774
Other comprehensive income, before tax:    
Foreign currency translation adjustments 190 174
Unrealized gains on available-for-sale securities:    
Unrealized gains on available-for-sale securities 145 138
Total other comprehensive income before income taxes 335 312
Income tax provision 31 28
Total other comprehensive income after income taxes 304 284
Total comprehensive income $ 6,046 $ 1,058
XML 19 R6.htm IDEA: XBRL DOCUMENT v3.20.4
Consolidated Statements Of Cash Flows - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
CASH FLOWS FROM OPERATING ACTIVITIES:    
Net income $ 5,742,000 $ 774,000
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization 2,629,000 2,832,000
Non-cash operating lease expense 521,000 828,000
(Recovery) provision for doubtful accounts (20,000) 8,000
Deferred taxes 366,000 393,000
Foreign currency transaction (gains) losses (97,000) 127,000
Share-based compensation 1,181,000 991,000
Unrealized loss on available for sale equity security 18,000 12,000
Gain on sale of equipment 0 (26,000)
Changes in operating assets and liabilities:    
Accounts and trade notes receivable 1,888,000 (1,170,000)
Inventories (5,212,000) (439,000)
Prepaid expenses and other assets 49,000 539,000
Accounts payable (1,903,000) (1,529,000)
Advance customer payments and other 247,000 (49,000)
Accrued expenses 1,321,000 (856,000)
Operating lease liabilities (772,000) (308,000)
Net cash provided by operating activities 5,958,000 2,127,000
CASH FLOWS FROM INVESTING ACTIVITIES:    
Proceeds from maturities of available-for-sale marketable securities 11,576,000 7,835,000
Purchases of available-for-sale marketable securities (13,186,000) (12,033,000)
Proceeds from sale of equipment 0 84,000
Additions to equipment and leasehold improvements (1,527,000) (1,301,000)
Additions to patents (212,000) (150,000)
Net cash used in investing activities (3,349,000) (5,565,000)
CASH FLOWS FROM FINANCING ACTIVITIES:    
Proceeds from exercise of stock options 358,000 248,000
Tax payments related to shares withheld for share-based compensation plans (605,000) (67,000)
Common stock repurchases 0 (353,000)
Proceeds from issuance of common stock under employee stock purchase plan 224,000 203,000
Net cash (used in) provided by financing activities (23,000) 31,000
Effects of exchange rate changes on cash and cash equivalents (23,000) (5,000)
Net increase (decrease) in cash and cash equivalents 2,563,000 (3,412,000)
Cash and cash equivalents – beginning of period 5,836,000 9,248,000
Cash and cash equivalents – end of period $ 8,399,000 $ 5,836,000
XML 20 R7.htm IDEA: XBRL DOCUMENT v3.20.4
Consolidated Statements Of Stockholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Total
Revision of Prior Period, Change in Accounting Principle, Adjustment [Member]
Common Stock [Member]
Common Stock [Member]
Revision of Prior Period, Change in Accounting Principle, Adjustment [Member]
Accumulated Other Comprehensive Loss [Member]
Accumulated Other Comprehensive Loss [Member]
Revision of Prior Period, Change in Accounting Principle, Adjustment [Member]
Retained Earnings [Member]
Retained Earnings [Member]
Revision of Prior Period, Change in Accounting Principle, Adjustment [Member]
BALANCE at Dec. 31, 2018 $ 56,211   $ 35,637   $ (1,690)   $ 22,264  
BALANCE (ASU 2016-02 [Member]) at Dec. 31, 2018   $ 33   $ 0   $ 0   $ 33
BALANCE, shares at Dec. 31, 2018     7,101          
Increase (Decrease) in Stockholders' Equity [Roll Forward]                
Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment 248   $ 248       0  
Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment, shares     58          
Tax payments related to shares withheld for share-based compensation plans (67)   $ (67)          
Tax payments related to shares withheld for share-based compensation plans, shares     (4)          
Share issuances for director compensation 0   $ 0          
Share issuances for director compensation, shares     8          
Share-based compensation 991   $ 991          
Issuance of common stock under Employee Stock Purchase Plan 203   $ 203          
Issuance of common stock under Employee Stock Purchase Plan, shares     18          
Repurchase of common stock (353)   $ (353)          
Repurchase of common stock, Shares     (26)          
Other comprehensive income, net of tax 284       284      
Net income 774           774  
BALANCE at Dec. 31, 2019 58,324   $ 36,659   (1,406)   23,071  
BALANCE, shares at Dec. 31, 2019     7,155          
Increase (Decrease) in Stockholders' Equity [Roll Forward]                
Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment 358   $ 358       0  
Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment, shares     135          
Tax payments related to shares withheld for share-based compensation plans (605)   $ (605)          
Tax payments related to shares withheld for share-based compensation plans, shares     (23)          
Share issuances for director compensation 0   $ 0          
Share issuances for director compensation, shares     8          
Share-based compensation 1,181   $ 1,181          
Issuance of common stock under Employee Stock Purchase Plan 224   $ 224          
Issuance of common stock under Employee Stock Purchase Plan, shares     20          
Other comprehensive income, net of tax 304       304      
Net income 5,742           5,742  
BALANCE at Dec. 31, 2020 $ 65,528   $ 37,817   $ (1,102)   $ 28,813  
BALANCE, shares at Dec. 31, 2020     7,295          
XML 21 R8.htm IDEA: XBRL DOCUMENT v3.20.4
Business Description And Significant Accounting Policies
12 Months Ended
Dec. 31, 2020
BUSINESS DESCRIPTION AND SIGNIFICANT ACCOUNTING POLICIES [Abstract]  
BUSINESS DESCRIPTION AND SIGNICANT ACCOUNTING POLICIES

NOTE 1 BUSINESS DESCRIPTION AND SIGNIFICANT ACCOUNTING POLICIES

Description of Business

We are a leading global developer and manufacturer of high precision 3D sensors and systems for inspection and metrology. We also develop and manufacture our WaferSense® products, a family of wireless, wafer-shaped sensors that provide measurements of critical factors in the semiconductor fabrication process. Our sensors and system products are used in surface mount technology (SMT) and semiconductor markets to significantly improve yields and productivity.

Principles of Consolidation

The consolidated financial statements include the accounts of CyberOptics Corporation and its wholly-owned subsidiaries. In these notes to the consolidated financial statements, these companies are collectively referred to as “CyberOptics,” “we,” “us,” or “our.” All significant inter-company accounts and transactions have been eliminated in consolidation.


Segment Reporting

We operate in a single reportable segment that includes the design, development and manufacture of high precision sensing, inspection and metrology solutions for the SMT and semiconductor markets.


Use of Estimates

The preparation of consolidated financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates.


Cash and Cash Equivalents

We consider all highly liquid investments purchased with an original maturity of 90 days or less to be cash equivalents. Cash and cash equivalents consist of funds maintained in demand deposit accounts, money market accounts, certificate of deposits, corporate debt instruments and U.S. government backed obligations. Cash and cash equivalent balances, at times, may exceed federally insured limits. 


Marketable Securities


All marketable securities are classified as available-for-sale and consist of U.S. government and agency backed obligations, certificates of deposit, corporate debt instruments, asset backed securities or equity securities. Marketable securities are classified as short-term or long-term in the consolidated balance sheets based on their maturity date and expectations regarding sales.


Available-for-sale securities are carried at fair value. Unrealized gains and losses for marketable debt securities are reported as a separate component of stockholders’ equity until realized. Unrealized gains and losses for marketable equity securities are recognized in net income. Fair values are primarily determined using quoted market prices or valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The carrying amounts of securities, for purposes of computing unrealized gains and losses, are determined by specific identification. The cost of securities sold is also determined by specific identification.

We monitor the carrying value of our marketable debt securities compared to their fair value to determine whether an other-than-temporary impairment has occurred. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. If a decline in fair value of our marketable debt securities is determined to be other-than-temporary, an impairment charge related to that specific investment is recorded in net income.


Cash and marketable securities held by foreign subsidiaries totaled $672,000 at December 31, 2020 and $327,000 at December 31, 2019.


Inventories

 

Inventories are stated at the lower of cost or net realizable value, with cost determined using the first-in, first-out (FIFO) method. Appropriate consideration is given to deterioration, obsolescence, and other factors in evaluating net realizable value.  

 

Accounts and Trade Notes Receivable


We extend unsecured credit to our customers in the normal course of business. We periodically provide financing to customers for the purchase of SQ3000 Multi-Function system products. Trade notes receivable bear interest at annual effective rates ranging from approximately 5% to 7%, and are repayable over periods ranging from 18 to 36 months. The current portion of the trade notes are classified as accounts receivable in the accompanying balance sheets.


Interest income will be discontinued for any trade notes receivable with a specific reserve established if it is likely that we will be unable to collect all amounts due according to the original terms of the trade notes. For these trade notes receivable, cash collection will first be applied as a reduction to principal outstanding. Any cash received in excess of the outstanding principal payments will be recognized as interest income. Trade notes receivable may be removed from non-accrual status with respect to interest income based upon changes in customer circumstances, including a sustained history of payments. At December 31, 2020, none of our trade notes receivable were in a non-accrual status with respect to interest income.


Allowance for Doubtful Accounts and Trade Notes 

 

Allowances for doubtful accounts are maintained for estimated losses resulting from the inability of our customers to make required payments. In making the determination of the appropriate allowance for doubtful accounts, we consider specific accounts, historical write-offs, changes in customer relationships and credit worthiness and concentrations of credit risk. Specific accounts and trade notes receivable are written-off once a determination is made that the account is uncollectible.

 

Equipment and Leasehold Improvements

 

Equipment and leasehold improvements are stated at cost. Significant additions or improvements extending asset lives are capitalized, while repairs and maintenance are charged to expense as incurred. In-progress costs are capitalized with depreciation beginning when assets are placed in service. Depreciation is recorded using the straight-line method over the estimated useful lives of the equipment, ranging from one to seven years. Leasehold improvements are amortized using the straight-line method over the shorter of the asset useful life or the underlying lease term, ranging from one to eight years. Gains or losses on dispositions are included in current operations.

 

Goodwill

 

Goodwill represents the excess of purchase price over the fair value of net assets acquired in a business combination. We have determined that we have one reporting unit. We evaluate the carrying value of goodwill annually on December 31st and more frequently if management believes indicators of impairment exist. Such indicators could include, but are not limited to (1) a significant adverse change in legal factors or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. We first assess qualitative factors to determine whether it is more likely than not that our fair value is greater than carrying value (i.e. net book value). If we conclude that it is more likely than not that our fair value is greater than carrying value, no further testing is required. If we conclude that it is more likely than not that our fair value is less than carrying value, we estimate our fair value using the income approach. The income approach is a valuation technique under which we estimate future cash flows using financial forecasts. Future estimated cash flows are discounted to their present value to calculate fair value. When considering fair value, we also give consideration to the control premium in excess of our current market capitalization that might be obtained from a third party acquirer. Goodwill impairment is measured as the amount by which our carrying value exceeds our fair value, but not in an amount in excess of the carrying value of goodwill.

 

On December 31, 2020 and 2019, we performed a qualitative assessment to determine if there was any indication that our goodwill might be impaired. After considering all available evidence, including our financial performance, financial outlook and current market capitalization, we concluded that it is more likely than not that our fair value is greater than carrying value. As a result, no further testing was deemed necessary, and we determined that our goodwill was not impaired. Therefore, no amounts were recorded for goodwill impairment in 2020 or 2019.


Patents

 

Patents consist of legal and patent registration costs for protection of our proprietary technology. We amortize patent costs on a straight-line basis, based upon their estimated life.


Long Lived Assets

 

Intangible assets subject to amortization and other long-lived assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of the assets may not be recoverable. An impairment loss would be recognized when future undiscounted cash flows expected to result from use of the asset and eventual disposition are less than the carrying amount. 


Operating Leases


We determine if an arrangement is a lease at inception. Operating leases are recorded in operating lease right-of-use (ROU) assets, current operating lease liabilities, and long-term operating lease liabilities in our consolidated balance sheets. ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized based on the present value of lease payments over the lease term. The operating lease ROU assets exclude lease incentives. As our leases do not provide an implicit rate, we use our incremental borrowing rate to determine the present value of lease payments. Our leases may include renewal options to extend the lease term, the exercise of which are at our sole discretion. In our accounting treatment of leases, the lease terms used do not include any option to extend the lease, because it is not reasonably certain that we will exercise the option. Lease expense is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components (e.g., common-area or other maintenance costs) which are generally accounted for separately and expensed monthly. We do not recognize a ROU asset and lease liability for leases having a term of 12 months or less at the effective date.


Revenue Recognition

 

Revenue is measured based on consideration specified in the contract with a customer. A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account for purposes of revenue recognition. Revenue from all customers, including distributors, is recognized when a performance obligation is satisfied by transferring control of a product or service to a customer. Amounts billed to customers for shipping and handling are included in revenue. All shipping and handling costs associated with outbound freight are accounted for as fulfillment costs and are included in cost of sales. Taxes collected from customers and remitted to governmental authorities are excluded from revenue on the net basis of accounting. Accounts receivable are due under normal trade terms, typically 120 days or less.


Our performance obligations are mostly satisfied at a point in time and to a lesser extent over time as work progresses. Revenue for products and services transferred to customers at a point in time is recognized when obligations under the terms of the contract with our customer are satisfied; generally with the transfer of control upon shipment. Sales of some products may require customer acceptance due to performance or other acceptance criteria that is considered more than a formality. For these product sales, revenue is recognized upon notification of customer acceptance.


Sales involving multiple performance obligations typically include the sale of an inspection or metrology systems product, installation and training, and in some cases, an extended warranty. When a sale involves multiple performance obligations, we account for individual products and services separately if the customer can benefit from the product or service on its own or with other resources that are readily available to the customer and the product or service are separately identifiable from other promises in the arrangement. Undelivered performance obligations in an arrangement are typically minimal, consisting of undelivered installation and training services. The consideration is allocated between separate performance obligations in proportion to their estimated stand-alone selling price. If the stand-alone selling price is not directly observable, we use the cost plus margin approach to estimate stand-alone selling price. Costs related to products delivered are recognized in the period revenue is recognized; including product warranties for periods ranging from 1 to 3 years (see Note 9).

 

Periodically, sensor product arrangements with our original equipment manufacturers (OEM's) will create an asset with no alternative use and include an enforceable right to payment. For these arrangements, control is transferred over the manufacturing process; therefore, revenue is recognized over time utilizing an input method based on actual costs incurred in the manufacturing process to date relative to total expected production costs. For certain longer duration 3D scanning service projects, we progress bill as the services are performed. These arrangements create an asset with no alternative use and include an enforceable right to payment. For these arrangements, control is transferred over the hours incurred to complete the scanning project; therefore, revenue is recognized over time utilizing an input method based on actual hours incurred relative to total projected project hours. For maintenance and extended warranty contracts, revenue is recognized over time on a straight-line basis over the term of the contract as the customer simultaneously receives and consumes the benefits of the coverage.

 

Practical Expedients 


We generally expense the incremental costs of obtaining a contract when incurred because the amortization period for these costs would be less than one year. These costs primarily relate to sales commissions and are recorded in selling, general and administrative expense in our consolidated statements of operations. 


We do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less, primarily consisting of product installation and training. We do not adjust the promised amount of consideration for the effects of a significant financing component if we expect, at contract inception, that the period between when we transfer a promised good or service to a customer and when the customer pays for that good or service will be one year or less. 



Foreign Currency Translation

Financial position and results of operations of our international subsidiaries are measured using local currency as their functional currency. Assets and liabilities of these operations are translated at the exchange rates in effect at each fiscal year-end. Statements of operations accounts are translated at the average rates of exchange prevailing during the year. Translation adjustments arising from the use of differing exchange rates from period to period are included as a cumulative translation adjustment in stockholders’ equity.

Foreign Currency Transactions

Foreign currency transaction gains and losses are included in interest income and other, net in the statement of operations. We recognized foreign currency transaction gains of $27,000 in 2020. We recognized foreign transaction losses of $127,000 in 2019.


Research and Development

Research and development (R&D) costs, including product software development, are expensed when incurred. Product software development costs are required to be expensed until the point that technological feasibility and proven marketability of the product are established; costs otherwise capitalizable after such point also are expensed because they are insignificant. All other R&D costs are expensed as incurred. R&D expenses consist primarily of salaries, project materials, contract labor and other costs associated with ongoing product development and enhancement efforts.

 

Advertising Costs

We expense all advertising costs as incurred. Advertising expenses were $371,000 in 2020 and $408,000 in 2019.

 

Warranty Costs

 

We provide for the estimated cost of product warranties, which cover products for periods ranging from one to three years at the time revenue is recognized.

Income Taxes

We evaluate uncertain tax positions using the “more likely than not” threshold (i.e., a likelihood of occurrence greater than fifty percent). The recognition threshold is met when an entity concludes that a tax position, based solely on its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority. Those tax positions failing to qualify for initial recognition are classified as a gross unrecognized tax benefit until the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statute of limitations. De-recognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.

 

Only the portion of the unrecognized tax benefit that is expected to be paid within one year is classified as a current liability. As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statute of limitations) or are not expected to be paid within one year are not classified as current. It is our policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.

Deferred income taxes are recorded to reflect the tax consequences in future years of differences between the financial reporting and tax bases of assets and liabilities. Income tax expense is the sum of the tax currently payable and the change in the deferred tax assets and liabilities during the period, excluding changes in deferred tax assets recorded to goodwill. Valuation allowances are established when, in the opinion of management, it is more likely than not that some portion or all of the deferred tax assets will not be realized. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on all positive and negative evidence.


Net Income Per Share


Basic net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. Common equivalent shares consist of common shares to be issued upon exercise of stock options, vesting of restricted stock units, vesting of restricted shares and from purchases of shares under our employee stock purchase plan, as calculated using the treasury stock method. Common equivalent shares are excluded from the calculation of net income per diluted share if their effect is anti-dilutive.



Comprehensive Income


Total comprehensive income and the components of accumulated other comprehensive loss are presented in the Consolidated Statements of Comprehensive Income and the Consolidated Statements of Stockholders' Equity. Accumulated other comprehensive loss is composed of foreign currency translation effects and unrealized gains and losses on available-for-sale marketable debt securities. We use the individual item approach for releasing income tax effects from accumulated other comprehensive loss.


Fair Value of Financial Instruments 


The carrying amounts of financial instruments such as cash equivalents, accounts receivable, other assets, accounts payable, advance customer payments, accrued expenses and other liabilities approximate their related fair values due to the short-term maturities of these instruments. The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial.


Share-Based Compensation


All share-based payments to employees, including grants of stock options, are required to be recognized as an expense in our consolidated statements of operations based on the grant date fair value of the award. We utilize the straight-line method of expense recognition over the award’s service period for our graded vesting options. The fair value of stock options has been determined using the Black-Scholes model. We account for the impact of forfeitures related to employee share-based payment arrangements when the forfeitures occur. We have classified employee share-based compensation within our consolidated statements of operations in the same manner as our cash based employee compensation costs.

See Note 7 to the consolidated financial statements for additional information related to employee share-based compensation. 


Related Party Transactions


We periodically sell or purchase products from companies for which our board members serve in an executive capacity and in some cases on the board of directors. These transactions occur in the normal course of business. Our cumulative sales to these companies were $40,000 in 2020 and $4,000 in 2019Our cumulative purchases from these companies were $59,000 in 2020.  There were no such purchases in 2019. 


Recent Accounting Developments


In February 2016, the Financial Accounting Standards Board (FASB) issued new lease accounting guidance, ASU 2016-02, Leases (Topic 842), which we adopted on January 1, 2019. Under Topic 842, lessees are required (a) to recognize a lease liability, which is a lessee's obligation to make lease payments arising from a lease, measured on a discounted basis, and (b) to record a right-of-use asset, which is an asset that represents the lessee’s right to use, or control the use of, a specified asset for the lease term. In July 2018, the FASB issued ASU 2018-11, Leases (Topic 842), Targeted Improvements, which gave companies the option of applying the new standard at the adoption date, rather than retrospectively to the earliest period presented in the financial statements, with recognition of a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption. We chose the option to apply the new standard at the adoption date, and therefore we were not required to restate the financial statements of prior periods. Our adoption of Topic 842 on January 1, 2019 resulted in a $33,000 increase in retained earnings to record the cumulative effect adjustment. Our adoption of Topic 842 did not impact our cash flows or have a material impact on our results of operations. 


In June 2016, the FASB issued ASU No. 2016-13, Measurement of Credit Losses on Financial Instruments, which revises guidance for the accounting for credit losses on financial instruments within its scope, and in November 2018, issued ASU No. 2018-19, which amended the standard. The new standard introduces an approach to estimating credit losses that is based on expected losses (referred to as the current expected credit losses model), and applies to most financial assets measured at amortized cost and certain other instruments, including available-for-sale marketable debt securities, trade and other receivables. The new standard is effective for us on January 1, 2023, with early adoption permitted. We are required to apply the standard’s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted. We presently do not believe the new standard will have a material impact on our consolidated financial statements.


No other new accounting pronouncements are expected to have a significant impact on our consolidated financial statements.


XML 22 R9.htm IDEA: XBRL DOCUMENT v3.20.4
Covid-19 pandemic
12 Months Ended
Dec. 31, 2020
COVID-19 PANDEMIC  
Covid-19 Pandemic

NOTE 2 - COVID-19 PANDEMIC:


Effect of Covid-19 Outbreak on Business Operations

A novel strain of coronavirus ("Covid-19") was first identified in December 2019, and in March 2020, the World Health Organization categorized Covid-19 as a pandemic. The Covid-19 pandemic is affecting our customers, suppliers, service providers and employees, and the ultimate impacts of Covid-19 on our business, results of operations, liquidity and prospects are not fully known at this time. The Covid-19 outbreak has not had a significant impact on our business to date. However, the following factors have affected and may continue to affect our business: 
  • Our key factories are located in Minnesota and Singapore. Both of these locations have been subject to government mandated shelter-in-place orders. Because our operations have been deemed essential, we were able to keep our factories up and running while the shelter-in-place mandates were in effect. If the pandemic worsens, it is possible that our operations may not be deemed essential under future government mandated shelter-in-place orders, and we may be required to shut-down factory operations. We have periodically implemented split-shifts for our factory operations to minimize the number of employees in our facilities at any given time, but these measures have not affected our production capacity. Most of the time, our non-factory employees are working remotely. To date, the shelter-in-place mandates and remote work arrangements have had a minimal impact on operations, but material negative effects on our business could result if the pandemic worsens and continues for an extended period of time.
  • Sales of some products, mainly our SQ3000 Multi-Function systems and MX memory module inspection products, require customer acceptance due to performance or other criteria that is considered more than a formality. Most of our customer’s factories have remained open during the Covid-19 pandemic because they are deemed to be essential under government shelter-in-place mandates. However, global travel restrictions and quarantine measures have hindered our ability to obtain customer acceptances for certain of our products at various times in 2020. Continuing or new global travel restrictions and quarantine measures could hinder our ability to obtain customer acceptances in a timely manner in the future, and therefore impact the timing of revenue recognition.
  • We have experienced some supply disruptions due to the Covid-19 pandemic, mainly from suppliers not deemed essential by shelter-in-place mandates in certain countries. Key supply chain disruptions have been resolved to date. However, supply chain disruptions could increase significantly if the pandemic worsens and continues for an extended period of time. To date, our on-hand inventories have been sufficient to enable us to mitigate supply disruptions. 

Although we cannot estimate the length or gravity of the impact of the Covid-19 outbreak at this time, if the pandemic continues as expected for the foreseeable future, it may have an adverse effect on our results of future operations, financial position and liquidity in 2021 and beyond. There have been recent spikes in Covid-19 cases, and some health experts have predicted that the Covid-19 pandemic will worsen during the coming months.

United States Covid-19 Relief Legislation

On March 27, 2020, the Coronavirus Aid, Relief and Economic Security Act (the "CARES Act") was signed into law in the United States. The CARES Act, among other things, includes provisions relating to refundable payroll tax credits, deferment of employer side social security payments, net operating loss carryback periods and alternative tax credit refunds. The CARES Act also appropriated funds for the Small Business Administration Paycheck Protection Program loans that are forgivable in certain circumstances to promote continued employment. On December 27, 2020, a second relief package, the Consolidated Appropriations Act, 2021 was signed into law which set aside funding for additional loans under the Paycheck Protection Program established by the CARES Act. We have analyzed both pieces of legislation and presently do not believe they will have a material impact on our financial condition, results of operations or liquidity. However, we will continue to monitor the impact these pieces of legislation could have on our business in the future.


Singapore Jobs Support Program

 

The Singapore Government implemented a jobs support program in 2020 that was intended to support businesses and encourage retention of employees during the period of economic uncertainty caused by the Covid-19 pandemic. Under the jobs support program, the Singapore Government co-funded a portion of the gross monthly wages paid to local employees, which reduced our operating expense by $410,000 in 2020. We do not expect to receive any material benefit from the Singapore jobs support program in 2021. 


Impairment Considerations (goodwill and intangibles)

The current Covid-19 pandemic has caused a significant deterioration in global economic conditions, including high levels of unemployment and a significant contraction in economic activity. Many economists and analysts believe the Covid-19 pandemic has resulted or could result in an economic recession or depression. We evaluate the carrying value of goodwill and intangibles for impairment whenever management believes indicators of impairment might exist. A significant deterioration in macroeconomic conditions is a key indicator of possible impairment. In addition to macroeconomic conditions, management considered the factors in the FASB's Accounting Standards Codification Topic 350 when analyzing goodwill and intangibles for possible impairment, including the following:

  • Conditions in the global SMT and semiconductor capital equipment markets (including conditions resulting from the Covid-19 pandemic);
  • Our revenue and profitability in the year ended December 31, 2020;
  • Our backlog at December 31, 2020, which stood at $23.0 million;
  • Our forecasts for revenue and profitability for the first quarter of 2021 and beyond;
  • The manner of use and applicability of our intangibles, which is not expected to change; and
  • Our stock market capitalization, which is significantly greater than our net book value.

After carefully considering the factors outlined above, among others, we determined that it is more likely than not that our goodwill and intangibles were not impaired as of December 31, 2020.

XML 23 R10.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Recognition - Topic 606
12 Months Ended
Dec. 31, 2020
REVENUE RECOGNITION - TOPIC 606  
REVENUE RECOGNITION - TOPIC 606

NOTE 3 – REVENUE RECOGNITION

 

Performance Obligations 


Our revenue performance obligations are primarily satisfied at a point in time and limited revenue streams are satisfied over time as work progresses.


The following is a summary of our revenue performance obligations:

 



For the Year Ended December 31,


2020
2019

(In thousands)


Revenues


Percent of Revenues


Revenues

Percent of Revenues

Revenue recognized over time
$ 1,715
2 %
$ 2,029
3 %
Revenue recognized at a point in time

68,402
98 %

57,234
97 %


$ 70,117
100 %
$ 59,263
100 %


See Note 13 for additional information regarding disaggregation of revenue.


Contract Balances 


Contract assets consist of unbilled amounts from sales where we recognize the revenue over time and the revenue recognized exceeds the amount billed to the customer at a point in time. Accounts and trade notes receivable are recorded when the right to payment becomes unconditional. Contract liabilities consist of payments received in advance of performance under the contract. Contract liabilities are recognized as revenue when we perform under the contract.


The following summarizes our contract assets and contract liabilities: 


(In thousands)

 

December 31, 2020

December 31, 2019

Contract assets, included in other current assets

 

$

2

 

 

$

 2

 

Contract liabilities - advance customer payments

 

$

567

 

 

$

389

 

Contract liabilities - deferred warranty revenue
$ 344

$ 275


Changes in contract assets in 2020 and 2019 resulted from unbilled amounts under sensor product arrangements and longer duration 3D scanning service projects in which revenue is recognized over time. Changes in contract liabilities primarily resulted from reclassification of beginning contract liabilities to revenue as performance obligations were satisfied or from cash received in advance and not recognized as revenue. See Note 9 for changes in contractual obligations related to deferred warranty revenue. Unsatisfied performance obligations for deferred warranty revenue are generally expected to be recognized as revenue over the next one to three years. There were no impairment losses for contract assets in 2020 or 2019.


The following summarizes the amounts reclassified from beginning contract liabilities to revenue:

Year Ended December 31,

(In thousands)

 

2020

2019

Amounts reclassified from beginning contract liabilities to revenue

 

$

171

 

 

$

 334

 

Amounts reclassified from deferred warranty revenue

193

213

Total

$

364

$

547

XML 24 R11.htm IDEA: XBRL DOCUMENT v3.20.4
Marketable Securities
12 Months Ended
Dec. 31, 2020
MARKETABLE SECURITIES [Abstract]  
MARKETABLE SECURITIES

NOTE 4  MARKETABLE SECURITIES


Our investments in marketable securities are classified as available-for-sale and consist of the following: 

 

 

December 31, 2020

(In thousands)

 

Cost

 

Unrealized
Gains

 

Unrealized
Losses

 

Fair Value

Short-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

4,817

 

 

$

36

 

 

$

 

$

4,853

 

Corporate debt securities and certificates of deposit

 

3,113

 

 

21

 

 

 

3,134

 

Asset backed securities

 

133

 

 

1

 

 

 

134

 

Marketable securities – short-term

 

$

8,063

 

 

$

58

 

 

$

 

$

8,121

 

Long-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

7,529

 

 

$

66

 

 

$

 

$

7,595

 

Corporate debt securities and certificates of deposit

 

3,975

 

 

61

 

 

(1

)

 

4,035

 

Asset backed securities

 

2,347

 

 

45

 

 

 

2,392

 

Equity security

 

42

 

 

 

 

(12

)

 

30

 

Marketable securities – long-term

 

$

13,893

 

 

$

172

 

 

$

(13

)

 

$

14,052

 



 

December 31, 2019

(In thousands)

 

Cost

 

Unrealized
Gains

 

Unrealized
Losses

 

Fair Value

Short-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

5,766

 

 

$

22

 

 

$

 

$

5,788

 

Corporate debt securities and certificates of deposit

 

1,085

 

 

1

 

 

 

1,086

 

Asset backed securities

 

1,417

 

 

4

 

 

 

1,421

 

Marketable securities – short-term

 

$

8,268

 

 

$

27

 

 

$

 

$

8,295

 

Long-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

6,524

 

 

$

30

 

 

$

(1

)

 

$

6,553

 

Corporate debt securities and certificates of deposit

 

3,004

 

 

14

 

 

 

3,018

 

Asset backed securities

 

2,535

 

 

15

 

 

(1

)

 

2,549

 

Equity security

 

42

 

 

6

 

 

 

 

48

 

Marketable securities – long-term 

 

$

12,105

 

 

$

65

 

 

$

(2

)

 

$

12,168

  




In Unrealized Loss Position For
Less Than 12 Months
 
 In Unrealized Loss Position For
Greater Than 12 Months
(In thousands)  
 
Fair Value
 
Gross Unrealized
Losses
 
Fair Value
 
Gross Unrealized
Losses
December 31, 2020
 
 

 
 

 
 

 
 

U.S. government and agency obligations
 
$
330

 
$
 
$
 
$
Corporate debt securities and certificates of deposit
 
411

 
(1
)
 
 
Marketable securities
 
$
741

 
$
(1
)
 
$
 
$
December 31, 2019
 
 

 
 

 
 

 
 

U.S. government and agency obligations
 
$
149

 
$
(1
)
 
$
 
$
Corporate debt securities and certificates of deposit
 
271

 
 
 
Asset backed securities
 
684

 
(1
)
 
 
Marketable securities
 
$
1,104

 
$
(2
)
 
$
 
$


Our investments in marketable debt securities all have maturities of less than 5 years. Net pre-tax unrealized gains for marketable debt securities of $229,000 at December 31, 2020 and $84,000 at December 31, 2019 have been recorded as a component of accumulated other comprehensive loss in stockholders’ equity. We have determined that the net pre-tax unrealized gains and losses for marketable debt securities at December 31, 2020 and December 31, 2019 were caused by fluctuations in interest rates and are temporary in nature. We review our marketable debt securities to identify and evaluate investments that have indications of possible impairment. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. No marketable securities were sold in 2020 or 2019. See Note 6 for additional information regarding the fair value of our investments in marketable securities. 


Investments in marketable debt securities classified as cash equivalents of $1.3 million at December 31, 2020 and $2.6 million at December 31, 2019, consist of corporate debt securities and certificates of deposit. There were no unrealized gains or losses associated with any of these securities at December 31, 2020 or December 31, 2019.  

XML 25 R12.htm IDEA: XBRL DOCUMENT v3.20.4
Comprehensive Income
12 Months Ended
Dec. 31, 2020
COMPREHENSIVE INCOME [Abstract]  
COMPREHENSIVE INCOME (LOSS)

NOTE 5  COMPREHENSIVE INCOME 


There were no reclassification adjustments in 2020 or 2019. Changes in components of comprehensive income and taxes related to items of other comprehensive income are as follows:

 


Year Ended December 31, 2020

 

Year Ended December 31, 2019

(In thousands)

 

Before Tax

 

Tax Effect

 

Net of Tax
Amount

 

Before Tax

 

Tax Effect

 

Net of Tax
Amount

Foreign currency translation adjustments

 

$

190

 

$

 

$

190

 

$

174

 

$

 

$

174

Unrealized gains on available-for-sale securities

 

145


 

(31

)

 

114


 

138


 

(28

)

 

110

Other comprehensive income 

 

$

335

 

$

(31

)

 

$

304

 

$

312

 

$

(28

)

 

$

284


At December 31, 2020 and December 31, 2019 components of accumulated other comprehensive loss is as follows:

 

 

 

 

 

 

 

 

 

 

 

 

 

(In thousands)

 

Foreign
Currency
Translation
Adjustments

 

Available-
for-Sale
Securities

 

Accumulated
Other
Comprehensive
Loss

Balances at December 31, 2018

 

$

(1,649

)

 

$

(41

)

 

$

(1,690

)

Other comprehensive income for the year ended December 31, 2019

 

174

 

110

 

284

Balances at December 31, 2019

 

$

(1,475

)

 

$

69

 

$

(1,406

Other comprehensive income for the year ended December 31, 2020

 

 

190

 

 

114

 

 

304

Balances at December 31, 2020

 

$

(1,285

 

$

183

 

$

(1,102

)
XML 26 R13.htm IDEA: XBRL DOCUMENT v3.20.4
Fair Value Measurements
12 Months Ended
Dec. 31, 2020
FAIR VALUE MEASUREMENTS [Abstract]  
FAIR VALUE MEASUREMENTS

NOTE 6  FAIR VALUE MEASUREMENTS

We determine the fair value of our assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Valuation techniques used to measure fair value maximize the use of observable inputs and minimize the use of unobservable inputs. We use a fair value hierarchy with three levels of inputs, of which the first two are considered observable and the last is considered unobservable, to measure fair value. The fair value hierarchy gives the highest priority to quoted prices in active markets for identical assets or liabilities (Level 1). The next highest priority is based on quoted prices for similar assets or liabilities in active markets or quoted prices for identical or similar assets or liabilities in non-active markets or other observable inputs (Level 2). The lowest priority is given to unobservable inputs (Level 3). The following provides information regarding fair value measurements for our marketable securities as of December 31, 2020 and December 31, 2019 according to the three-level fair value hierarchy.


 

 

Fair Value Measurements at
December 31, 2020 Using

(In thousands)

 

Balance
December 31, 2020

 

Quoted Prices
in Active
Markets for
Identical
Assets
(Level 1)

 

Significant
Other Observable Inputs
(Level 2)

 

Significant
Unobservable Inputs
(Level 3)

Marketable securities:

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

12,448

 

 

$

 

 

$

12,448

 

 

$

 

Corporate debt securities and certificates of deposit

 

7,169

 

 

 

 

7,169

 

 

 

Asset backed securities

 

2,526

 

 

 

 

2,526

 

 

 

Equity security

 

30

 

 

30

 

 

 

 

 

Total marketable securities

 

$

22,173

 

 

$

30

 

 

$

22,143

 

 

$

  

 

 

 

Fair Value Measurements at
December 31, 2019 Using

(In thousands)

 

Balance
December 31, 2019

 

Quoted Prices
in Active
Markets for
Identical
Assets
(Level 1)

 

Significant
Other Observable Inputs
(Level 2)

 

Significant
Unobservable Inputs
(Level 3)

Marketable securities:

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

12,341

 

 

$

 

 

$

12,341

 

 

$

 

Corporate debt securities and certificates of deposit

 

4,104

 

 

 

 

4,104

 

 

 

Asset backed securities

 

3,970

 

 

 

 

3,970

 

 

 

Equity security

 

48

 

 

48

 

 

 

 

 

Total marketable securities

 

$

20,463

 

 

$

48

 

 

$

20,415

 

 

$

  

 

During 2020 and 2019, we owned no Level 3 securities and there were no transfers within the three level hierarchy. A significant transfer is recognized when the inputs used to value a security have been changed which merit a transfer between the levels of the valuation hierarchy.

The fair value for our U.S. government and agency obligations, corporate debt securities and certificates of deposit and asset backed securities are determined based on valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The fair value for our equity security is based on a quoted market price obtained from an active market. The carrying amounts of financial instruments included in cash equivalents approximate their related fair values due to the short-term maturities of those instruments. See Note 4 for additional information regarding our investments in marketable securities


Non-financial assets such as equipment and leasehold improvements, goodwill and intangible assets and right-of-use assets for operating leases are subject to non-recurring fair value measurements if they are deemed impaired. We had no re-measurements of non-financial assets to fair value in 2020 or 2019.



The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial. If measured at fair value in the financial statements, these financial instruments would be classified as Level 3 in the fair value hierarchy.

XML 27 R14.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation
12 Months Ended
Dec. 31, 2020
SHARE-BASED COMPENSATION [Abstract]  
SHARE-BASED COMPENSATION

NOTE 7  SHARE-BASED COMPENSATION

We have three share-based compensation plans that are administered by the Compensation Committee of the Board of Directors. We have (a) an Employee Stock Incentive Plan for officers, other employees, consultants and independent contractors under which we have granted options and restricted stock units to officers and other employees, (b) an Employee Stock Purchase Plan under which shares of our common stock may be acquired by employees at discounted prices, and (c) a Non-Employee Director Stock Plan that provides for automatic grants of restricted shares of our common stock to non-employee directors. New shares of our common stock are issued upon stock option exercises, vesting of restricted stock units, issuances of shares to board members and issuances of shares under the Employee Stock Purchase Plan.


Employee Stock Incentive Plan


As of December 31, 2020, there are 124,501 shares of common stock reserved in the aggregate for issuance pursuant to future awards under our Employee Stock Incentive Plan and 471,554 shares of common stock reserved in the aggregate for issuance pursuant to outstanding awards under such plan. Although our Compensation Committee has authority to issue options, restricted stock, restricted stock units, share grants and other share-based benefits under our Employee Stock Incentive Plan, to date only restricted stock units and stock options have been granted under the plan. Options have been granted at an option price per share equal to the market value of our common stock on the date of grant, vest over a four year period and expire seven years after the date of grant. Restricted stock units vest over a four year period and entitle the holders to one share of our common stock for each restricted stock unit. Reserved shares underlying outstanding awards, including options and restricted stock units, that are forfeited are available under the Employee Stock Incentive Plan for future grant.

Non-Employee Director Stock Plan

As of December 31, 2020, there were 44,000 shares of common stock reserved in the aggregate for issuance pursuant to future restricted share grants under our Non-Employee Director Stock Plan and 12,000 shares of common stock reserved in the aggregate for issuance pursuant to outstanding stock option awards under our Non-Employee Director Stock Plan (which previously authorized the granting of stock options to non-employee directors). Under the terms of the plan, each non-employee director receives annual restricted share grants of 2,000 shares of our common stock on the date of each annual meeting at which such director is elected to serve on the board. The annual restricted share grants of common stock vest in four equal quarterly installments during the year after the grant date, provided the non-employee director is still serving as a director on the applicable vesting date. 


On the dates of our 2020 and 2019 annual meetings, we issued 8,000 shares of our common stock to our non-employee directors, which were restricted as specified in the Non-Employee Director Stock Plan. The shares granted at the 2020 annual meeting had an aggregate fair market value on the date of grant equal to $227,000 (grant date fair value of $28.34 per share). As of December 31, 2020, 4,000 of these shares were vested. The aggregate fair value of the 4,000 unvested shares based on the closing price of our common stock on December 31, 2020 was $91,000. The shares granted at the 2019 annual meeting had an aggregate fair market value on the date of grant equal to $138,000 (grant date fair value of $17.26 per share). As of December 31, 2020, all of the shares granted at the 2019 annual meeting were vested.


Stock Option Activity 


The following is a summary of activity in stock options for 2020:

 

 

 

 

 

 

 

 


 

Options Outstanding

 

Weighted Average Exercise
Price Per Share

Outstanding, December 31, 2019

 

520,513

 

 

$

12.25

 

Granted

 

38,150

 

 

28.32

 

Exercised

 

(139,563

)

 

7.71

 

Outstanding, December 31, 2020

 

419,100

 

 

$

15.22

 

Exercisable, December 31, 2020

 

294,026

 

 

$

13.01

 



The intrinsic value of an option is the amount by which the market price of the underlying common stock exceeds the option's exercise price. For options outstanding at December 31, 2020, the weighted average remaining contractual term of all outstanding options was 3.65 years and their aggregate intrinsic value was $3.5 million. At December 31, 2020, the weighted average remaining contractual term of options that were exercisable was 2.74 years and their aggregate intrinsic value was $3.0 million. The aggregate intrinsic value of stock options exercised was $2.7 million in 2020 and $359,000 in 2019We received proceeds from stock option exercises of $358,000 in 2020 and $248,000 in 2019. The aggregate fair value of options that vested was $456,000 in 2020 and $439,000 in 2019.  No stock options expired or were forfeited in 2020.


The fair value of stock options granted to our employees was estimated on the date of grant using the Black-Scholes model. The Black-Scholes valuation model incorporates ranges of assumptions that are disclosed in the table below. The risk-free interest rate is based on the United States Treasury yield curve at the time of grant with a remaining term equal to the expected life of the awards. We used historical experience to estimate the expected term, representing the length of time in years, that the options are expected to be outstanding. Expected volatility was computed based on historical fluctuations in the daily price of our common stock.


For stock options granted in the two-year period ended December 31, 2020, we utilized the fair value of our common stock on the date of grant and employed the following key assumptions in computing fair value using the Black-Scholes option-pricing model:


 

 

 

 

 

 

 

 

2020

 

2019

Risk-free interest rates

0.44% - 0.50%

 

1.67% - 1.69%

Expected life in years

5.12 - 5.55 

 

5.00 - 5.40

Expected volatility

 59.43% - 59.81%

 

54.38% - 54.87%

Dividend yield

0.00%

 

0.00%

Weighted average fair value on grant date

$14.58

 

$7.96

 

Restricted Shares and Restricted Stock Units 

 

Restricted shares are granted under our Non-Employee Director Stock Plan. Restricted stock units are granted under our Employee Stock Incentive Plan. The fair value of restricted shares and restricted stock units is equal to the market value of our common stock on the date of grant. There were 30,700 restricted shares and restricted stock units granted in 2020 (weighted average grant date fair value of $28.33 each). There were 39,550 restricted shares and restricted stock units granted in 2019 (weighted average grant date fair value of $16.44 each). The aggregate fair value of outstanding restricted shares and restricted stock units based on the closing share price of our common stock as of December 31, 2020 was $1.6 million. The aggregate fair value of restricted shares and stock units that vested, based on the closing share price of our common stock on the vesting date, was $857,000 in 2020 and $458,000 in 2019. No restricted shares or restricted stock units expired or were forfeited in 2020.

 

The following is a summary of activity in restricted shares and restricted stock units for 2020:

 

Non-vested restricted stock units

 

Shares

 

Weighted Average Grant Date
Fair Value

Non-vested at December 31, 2019

 

68,204

 

 

$

17.39

 

Granted

 

30,700

 

 

28.33

 

Vested

 

(30,450

)

 

19.29

 

Non-vested at December 31, 2020

 

68,454

 

 

$

21.45

 


Employee Stock Purchase Plan


We have an Employee Stock Purchase Plan available to eligible U.S. employees. Under terms of the plan, eligible employees may designate from 1% to 10% of their compensation to be withheld through payroll deductions, up to a maximum of $6,500 in each plan year, for the purchase of common stock at 85% of the lower of the market price on the first or last day of the offering period. Purchases under this plan were 19,897 shares in 2020 and 17,781 shares in 2019. As of December 31, 2020, 136,791 shares remain available for future issuance under this plan.


Share-Based Compensation Information

Pre-tax share-based compensation expense for 2020 includes $876,000 for stock options and restricted stock units, $111,000 for our employee stock purchase plan, and $194,000 for restricted shares issued to board members. Pre-tax share-based compensation expense for 2019 includes $751,000 for stock options and restricted stock units, $107,000 for our employee stock purchase plan, and $133,000 for restricted shares issued to board members.



 

 

 

 

 

 

 

 

(In thousands)

 

 2020

 

2019

Pre-tax share-based compensation expense

 

$

1,181

 

$

991

 

Income tax benefits related to share-based compensation

 

$

712


$

211

 


At December 31, 2020, the total unrecognized compensation cost related to non-vested share-based compensation arrangements was $2.7 million and the related weighted average period over which such cost is expected to be recognized is 2.9 years. 


In 2020, we recognized a $717,000 income tax benefit from the exercise of stock options and vesting of share-based payments, including $497,000 of excess tax benefits. In 2019, we recognized a $165,000 income tax benefit from the exercise of stock options and vesting of share-based payments, including $42,000 of excess tax benefits. 

XML 28 R15.htm IDEA: XBRL DOCUMENT v3.20.4
Net Income Per Share
12 Months Ended
Dec. 31, 2020
NET INCOME PER SHARE [Abstract]  
NET INCOME PER SHARE

NOTE 8  NET INCOME PER SHARE

Net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. Common equivalent shares consist of common shares to be issued upon exercise of stock options, vesting of restricted stock units, vesting of restricted shares and from purchases of shares under our Employee Stock Purchase Plan, as calculated using the treasury stock method. Common equivalent shares are excluded from the calculation of net income per diluted share if their effect is anti-dilutive. The components of net income per basic and diluted share were as follows:

   
(In thousands except per share amounts)
 
Net Income
 
Weighted Average Shares Outstanding
 
Per Share Amount
Year Ended 12/31/2020:
 
 
 

 
 
 
 
 

Basic
 
$
5,742

 
7,215
 
 
$
0.80

Dilutive effect of common equivalent shares
 

 
239
 
 
(0.03
)
Dilutive
 
$
5,742

 
7,454
 
 
$
0.77

 

 

 

 

 

 

 

 

 

 

 

 

(In thousands except per share amounts)

 

Net Income

 

Weighted Average Shares Outstanding

 

Per Share Amount

Year Ended 12/31/2019:

 

 

 

 

 

 

 

 

 

Basic

 

$

774

 

 

7,113

 

 

$

0.11

 

Dilutive effect of common equivalent shares

 

 

 

149

 

 

Dilutive

 

$

774

 

 

7,262

 

 

$

0.11

 


Potentially dilutive shares consist of stock options, restricted stock units, restricted shares and purchases of shares under our Employee Stock Purchase Plan. Potentially dilutive shares excluded from the calculations of net income per diluted share due to their anti-dilutive effect were as follows: 57,000 shares in 2020 and 291,000 shares in 2019.

XML 29 R16.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data
12 Months Ended
Dec. 31, 2020
OTHER FINANCIAL STATEMENT DATA [Abstract]  
OTHER FINANCIAL STATEMENT DATA

NOTE 9  OTHER FINANCIAL STATEMENT DATA

Inventories consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Raw materials and purchased parts

 

$

11,903

 

 

$

9,845

 

Work in process

 

2,459

 

 

1,837

 

Finished goods

 

4,208

 

 

2,373

 

Demonstration inventories, net
1,701

1,525

Total inventories

 

$

20,271

 

 

$

15,580

 


Demonstration inventories are stated at cost less accumulated amortization, generally based on a 36 month useful life. Accumulated amortization for demonstration inventories totaled $2.7 million at December 31, 2020 and $2.4 million at December 31, 2019. 


Equipment and leasehold improvements consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Equipment

 

$

15,070

 

 

$

14,742

 

Leasehold improvements

 

3,072

 

 

2,987

 

 

 

18,142

 

 

17,729

 

Accumulated depreciation and amortization

 

(14,907

)

 

(14,388

)

 

 

$

3,235

 

 

$

3,341

 


Depreciation and amortization expense related to equipment and leasehold improvements was $1.7 million in 2020 and $1.6 million in 2019.

 

Intangible assets consist of the following:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

December 31, 2020

 

December 31, 2019

(In thousands)

 

Gross Carrying
Amount

 

Accumulated Amortization

 

Net

 

Gross Carrying
Amount

 

Accumulated Amortization

 

Net

Patents

 

$

1,832


 

$

(1,542

)

 

$

290

 

 

$

2,898

 

 

$

(2,662

)

 

$

236

 

Software

 


206


 

(200

)

 

6

 

 

206

 

 

(170

)

 

36

 

Marketing assets and customer relationships

 


101


 

(72

)

 

29

 

 

101

 

 

(63

)

 

38

 

 

 

$

2,139


 

$

(1,814

)

 

$

325

 

 

$

3,205

 

 

$

(2,895

)

 

$

310

  


Amortization expense in 2020 and 2019 was as follows:

 

 

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

 

Weighted Avg. Remaining Life-Years at December 31, 2020

(In thousands)

 

2020

 

2019

 

Patents

 

$

153

 

 

$

134

 

 

1.7

Software

 

29

 

 

29

 

 

0.2

Marketing assets and customer relationships

 

9

 

 

9

 

 

3.2

 

 

$

191

 

 

$

172

 

 

  


Estimated aggregate amortization expense based on current intangible assets for the next four years is expected to be as follows: $160,000 in 2021; $106,000 in 2022; $57,000 in 2023; and $2,000 in 2024. 


Accrued expenses consist of the following:

 

 

December 31,

(In thousands)

 

2020

 

2019

Wages and benefits

 

$

2,768

 

 

$

1,319

 

Warranty liability

 

793

 

 

761

 

Income taxes payable
269

333

Other

 

63

 

 

159

 

 

 

$

3,893

 

 

$

2,572

  


Other liabilities consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Deferred warranty revenue

 

$

88

 

 

$

81

 

Warranty liability

 

46

 

 

37

 

Contract liabilities 




84

 

 

$

134

 

 

$

202

 

 

See Note 3 for additional information related to contract liabilities.

    

Warranty costs:

    

We provide for the estimated cost of product warranties, which cover products for periods ranging from one to three years, at the time revenue is recognized. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of components provided by suppliers, warranty obligations do arise. These obligations are affected by product failure rates, the costs of materials used in correcting product failures and service delivery expenses incurred to make these corrections. If actual product failure rates and material or service delivery costs differ from our estimates, revisions to the estimated warranty liability are required and could be material. At the end of each reporting period, we revise our estimated warranty liability based on these factors. The current portion of our warranty liability is included as a component of accrued expenses. The long-term portion of our warranty liability is included as a component of other liabilities. 

 

A reconciliation of the changes in our estimated warranty liability is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,  

(In thousands)

 

2020

 

2019 

 

Balance at beginning of period

 

$

798

 

 

$

789

 

Accrual for warranties

 

836

 

 

815

 

Warranty revision


43

 

186

Settlements made during the period

 

(838

)

 

(992

)

Balance at end of period

 

839

 

 

798

 

Current portion of estimated warranty liability

 

(793

)

 

(761

)

Long-term estimated warranty liability

 

$

46

 

 

$

37

 


Deferred warranty revenue:


The current portion of our deferred warranty revenue is included as a component of advance customer payments. The long-term portion of our deferred warranty revenue is included as a component of other liabilities. A reconciliation of the changes in our deferred warranty revenue is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31, 

(In thousands)

 

2020

 

2019 

 

Balance at beginning of period

 

$

275

 

 

$

218

 

Revenue deferrals

 

434

 

 

488

 

Amortization of deferred revenue

 

(365

)

 

(431

)

Total deferred warranty revenue

 

344

 

 

275

 

Current portion of deferred warranty revenue

 

(256

)

 

(194

)

Long-term deferred warranty revenue

 

$

88

 

 

$

81

  

XML 30 R17.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes
12 Months Ended
Dec. 31, 2020
INCOME TAXES [Abstract]  
INCOME TAXES

NOTE 10  INCOME TAXES

 

Income before income taxes consists of the following:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Sources of income (loss) before income taxes:

 

 

 

 

 

 

 

United States

 

$

4,876

 

$

(172

)

Foreign

 


1,478


 

1,332

 

Total income before income taxes

 

6,354


 

$

1,160

 


The provision (benefit) for income taxes consists of the following:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Current:

 


 

 

 

 

Federal

 

$

26

 

$

State

 

19

 

 

30

 

Foreign

 

201

 

(37

)

Total current

 

246

 

$

(7

)

Deferred:

 


 

 

 

 

Federal

 

$

361

 

$

338

State

 

 

 

1

 

Foreign

 

5

 

54

Total deferred

 

$

366

 

$

393

Total provision for income taxes

 

$

612

 

$

386


A reconciliation of the statutory rate to the effective income tax rate is as follows:

 

 

 

 

 

 

 

 

 

Year Ended December 31,

 

 

2020

 

 

2019

Federal statutory rate

 

21.0

%


21.0

%

State income taxes, net of federal benefit

 

0.2

 

 

2.1

 

U.S. Subpart F income

 

0.6

 

 

1.2

 

Global Intangible Low-Taxed Income (GILTI)/Foreign Derived Intangible Income

 

2.1

 

 

17.4

 

Share-based compensation

 

(7.4

)

 

(0.2

)

Research and experimentation (R&D) credit

 

(3.2

)

 

(16.8

)

Foreign tax credit
(2.2 )

Foreign rate difference

 

(1.1

)

 

(6.0

)
Singapore jobs support program
(1.3 )


Unrecognized tax benefit

 

0.4

 

(16.6

)

Valuation allowance

 

(4.2

)

 

10.5

Expiring and unrecognized deferred tax attributes 
3.7

16.1

Other, net

 

1.0

 

 

4.6

 

Effective tax rate

 

9.6

%


33.3

%


Our effective tax rate in 2020 was favorably impacted by $497,000 of excess tax benefits from employee stock option exercises and vesting of restricted stock units and restricted shares, and favorable benefits from U.S. federal R&D tax credits and foreign tax credits, offset in part by the GILTI. Our effective tax rate in 2019 was negatively impacted by the GILTI and an increase in our valuation allowance for deferred income taxes related to U.S. federal R&D tax credits expiring in 2020, offset in part by the favorable benefits from U.S. federal R&D tax credits earned in 2019 and a non-cash benefit from completion of an audit of our income taxes in the Singapore tax jurisdiction. We have elected to account for the tax on the U.S. GILTI as a period cost and not as a measure of deferred taxes.


A reconciliation of the beginning and ending amount of gross unrecognized tax benefits (“UTB”) is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Gross UTB balance at beginning of year

 

$

1,761

 

 

$

2,542

 

Additions based on tax positions related to the current year

 

137

 

 

97

 

Additions for tax positions of prior years

 

60

 

 

18

 

Reductions for tax positions of prior years

 

(169

)

 

(896

)

Reductions due to lapse of applicable statute of limitations

 

 

 

Gross UTB balance at end of year

 

$

1,789

 

 

$

1,761

 

Net UTB balance at end of year

 

197

 

 

$

160

 


The ending net UTB results from adjusting the gross balance for items such as federal, state, and non-U.S. deferred items, interest and penalties, and deductible taxes. The increase in our gross and net UTB balance as of December 31, 2020 was related to a potential exposure resulting from an ongoing audit of our income taxes in Singapore. We have classified $40,000 of our net UTB as a current liability, because we anticipate having to pay this liability within the next year. The remaining net UTB is a long-term income tax reserve within our consolidated balance sheets. We recognize interest and penalties related to unrecognized tax benefits in tax expense. Accrued interest and penalties on a gross basis and estimated gross interest and penalties included in the above amounts for all years were inconsequential. The gross UTB at December 31, 2020 and 2019, if recognized, would favorably impact our effective tax rate.


We file income tax returns in the United States and various state and foreign jurisdictions. Our federal income tax returns for years after 2016 are still subject to examination by the Internal Revenue Service. We are no longer subject to state and local income tax examinations for years prior to 2016. 


The Inland Revenue Authority of Singapore has initiated a routine compliance review of our 2018 income tax return. We presently anticipate that the outcome of this audit will not have a significant impact on our financial position or results of operations. 

 

Deferred tax assets and liabilities consist of the following:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

December 31, 2020

 

December 31, 2019

(In thousands)

 

Assets

 

Liabilities

 

Assets

 

Liabilities

Equipment, leaseholds and intangible amortization, net

 

$

176

 

 

$

251

 

 

$

200

 

 

$

287

 

Operating lease liabilities

839







755



Right-of-use assets (operating leases)




478







340

Inventory allowances

 

549

 

 

5

 

 

610

 

 

 

Accrued expenses

 

129

 

 

 

 

110

 

 

 

Warranty accrual

 

182

 

 

 

 

173

 

 

 

Deferred revenue

 

214

 

 


 

 

429

 

 

 

Federal and state tax credits

 

3,960

 

 


 

 

4,001

 

 

 

Federal and state net operating loss carry forwards

 

275

 

 

 

 

555

 

 

 

Share-based compensation

 

358

 

 


 

 

369

 

 

 

Other, net

 

113

 

 

50

 

 

114

 

 

18

 

Subtotal

 

6,795

 

 

784

 

 

7,316

 

 

645

 

Valuation allowance

 

(1,414

)

 


 

 

(1,679

)

 

 

Total deferred tax assets and liabilities

 

$

5,381

 

 

$

784

 

 

$

5,637

 

 

$

645

  


We have significant deferred tax assets as a result of temporary differences between the taxable income on our tax returns and U.S. GAAP income, R&D tax credit carry forwards and state net operating loss carry forwards. A deferred tax asset generally represents future tax benefits to be received when temporary differences previously reported in our consolidated financial statements become deductible for income tax purposes, when net operating loss carry forwards could be applied against future taxable income, or when tax credit carry forwards are utilized on our tax returns. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on the guidance provided in current financial accounting standards. 

 

Significant judgment is required in determining the realizability of our deferred tax assets. The assessment of whether valuation allowances are required considers, among other matters, the nature, frequency and severity of any current and cumulative losses, forecasts of future profitability, the duration of statutory carry forward periods, our experience with loss carry forwards not expiring unused and tax planning alternatives. In analyzing the need for valuation allowances, we first considered our history of cumulative operating results for income tax purposes over the past three years in each of the tax jurisdictions in which we operate, our financial performance in recent quarters, statutory carry forward periods and tax planning alternatives. In addition, we considered both our near-term and long-term financial outlook. After considering all available evidence (both positive and negative), we concluded that recognition of valuation allowances for substantially all of our U.S. and Singapore based deferred tax assets was not required at December 31, 2020 or December 31, 2019. The valuation allowance recorded against our deferred tax assets at December 31, 2020 was reduced by $265,000, mainly for U.S. federal R&D tax credits that were used or expired. The valuation allowance recorded against our deferred tax assets at December 31, 2019 was increased by $122,000, primarily for U.S. federal R&D tax credits expiring in 2020, offset in part by the reduction for U.S. federal R&D tax credits that expired in 2019. At December 31, 2020, we have federal R&D tax credit carry forwards of approximately $4.0 million that will begin to expire in 2021, if unused.  All of our remaining federal net operating loss carry forwards were fully utilized in 2020.


We determine on a regular basis the amount of undistributed earnings that will be reinvested in our non-U.S. operations. This assessment is based on our fiscal objectives and the working capital requirements for each of our foreign subsidiaries. The Tax Cuts and Jobs Act provides for a 100% dividends-received-deduction for foreign-source dividends received from 10% or more owned foreign corporations. Additionally, our foreign income is subject to Subpart F, GILTI and is eligible for foreign tax credits. The tax jurisdictions for the vast majority of our foreign operations do not impose a withholding tax. For these reasons, we have not recognized a deferred tax liability for the unremitted earnings of any of our foreign subsidiaries. Determination of the amount of any deferred income or withholding tax liability is not practicable because of the complexities of the hypothetical calculation.


Cash payments for income taxes, net of refunds received, were $59,000 in 2020 and $46,000 in 2019.

XML 31 R18.htm IDEA: XBRL DOCUMENT v3.20.4
Operating Leases
12 Months Ended
Dec. 31, 2020
OPERATING LEASES [Abstract]  
OPERATING LEASES

NOTE 11  OPERATING LEASES


We lease a 61,208 square foot mixed office and warehouse facility in Golden Valley, Minnesota. The lease has a term of 91 months and expires on July 31, 2026. The lease contains a rent escalation clause, one three year renewal option and incentives. Rental expense, including the effects of lease incentives, is recognized on a straight-line basis over the term of the lease. We did not include the renewal option in our accounting for the lease because it is not reasonably certain that we will exercise the option. We are also required to pay insurance, property taxes and other operating expenses related to the leased facility, which are not fixed or tied to an index.


In February 2020, we finalized a new lease for our existing 19,805 square foot mixed office and warehouse facility in Singapore, which serves as a sales, development and final assembly and integration facility for our inspection and metrology system products. The new lease does not contain any incentives or renewal options and runs through July 2023. We also have operating leases for small facilities in Taiwan, the United Kingdom and China which expire in June 2023, May 2023 and November 2022, respectively. 


The components of our costs for operating leases are as follows:



Year Ended

 Year Ended

Component (in thousands)

December 31, 2020
December 31, 2019

  Operating lease cost

$

723


$ 718

  Variable lease cost

272


269

  Short-term lease cost

38
21

  Total

$

1,033


$ 1,008


Variable lease costs generally consists of real estate taxes and insurance for leased facilities, which are paid based on actual costs incurred by the lessor.


At December 31, 2020, the future maturities of lease liabilities are as follows:

 

 

 

 

Twelve months ending December 31,

(In thousands)

2021

$

1,011

 

2022

1,023

 

2023

878

 

2024 658

2025

674

 

2026 & Thereafter 403

Total lease payments

 

4,647

  

Less: amount representing interest
584
Present value of operating lease liabilities $ 4,063

 

At December 31, 2020, the weighted average remaining term of our operating leases was 4.85 years, and the weighted average discount rate applied to our operating leases was 5.2%. At December 31, 2019, the weighted average remaining term of our operating leases was 6.11 years, and the weighted average discount rate applied to our operating leases was 5.7%.


Cash paid for amounts included in the measurement of operating lease liabilities was $975,000 in 2020 and $635,000 in 2019. Operating lease liabilities and right-of-use assets were increased for new non-cash leases by $941,000 in 2020 and $70,000 in 2019. Incentives from the landlord recorded as leasehold improvements in 2019 were $783,000.

XML 32 R19.htm IDEA: XBRL DOCUMENT v3.20.4
401(K) and Other Defined Contribution Plans
12 Months Ended
Dec. 31, 2020
401(K) AND OTHER DEFINED CONTRIBUTION PLANS [Abstract]  
401(K) AND OTHER DEFINED CONTRIBUTION PLANS

NOTE 12  401(K) AND OTHER DEFINED CONTRIBUTION PLANS

We have a retirement savings plan pursuant to Section 401(k) of the Internal Revenue Code (Code), under which eligible employees may contribute a portion of their earnings, not to exceed annual amounts allowed under the Code. In addition, we may also make contributions at the discretion of the Board of Directors. We provided matching contributions to employees totaling $303,000 in 2020 and $317,000 in 2019.

We also contribute to defined contribution retirement savings plans on behalf of our employees in the United Kingdom and Taiwan. We made contributions to these plans totaling $39,000 in 2020 and $32,000 in 2019.

XML 33 R20.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Concentrations, Significant Customers, and Geographic Areas
12 Months Ended
Dec. 31, 2020
REVENUE CONCENTRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS [Abstract]  
REVENUE CONCENETRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS

NOTE 13  REVENUE CONCENTRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS

The following summarizes our revenue by product line: 


 

 

   Year Ended December 31,

(In thousands)

 

2020

 

2019

High Precision 3D and 2D Sensors

 

$

17,522

 

 

$

12,579

 

Inspection and Metrology Systems

 

 

37,547

 

 

32,713

 

Semiconductor Sensors

 

 

15,048

 

 

13,971

 

Total

 

$

70,117

 

 

$

59,263

 


Revenue from sales of high precision 3D and 2D sensors based on our 3D Multi-Reflection Suppression™ (MRS™) technology was $11.6 million in 2020 and $6.0 million in 2019. Revenue from sales of inspection and metrology systems based on our 3D MRS sensor technology was $20.2 million in 2020 and $17.9 million in 2019.


In 2020, sales to significant customer A accounted for 14% of our total revenues, and sales to significant customer B accounted for 13% of our total revenues. As of December 31, 2020, accounts receivable from significant customer A were $2.1 million, accounts receivable from significant customer B were $905,000 and accounts receivable from significant customer C were $1.9 million. No customer accounted for more than 10% of our total revenues in 2019.


Export revenues as a percentage of total revenues were 80% in 2020 and 76% in 2019. Export revenues are attributed to the country where the product is shipped. Substantially all of our export revenues are negotiated, invoiced and paid in U.S. dollars.


Revenues by geographic area is summarized as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

 2020

 

2019

United States

 

$

14,134

 

 

$

14,459

 

Netherlands

 

 

2,237

 

 

1,658

 

Other Europe

 

 

7,017

 

 

8,009

 

China

 

 

18,903

 

 

11,553

 

Singapore

 

 

3,797

 

 

4,120

 

South Korea

 

 

6,376

 

 

4,678

 

Japan

 

 

3,172

 

 

3,630

 

Other Asia

 

 

11,702

 

 

8,496

 

Other

 

 

2,779

 

 

2,660

 

Total revenues

 

$

70,117

 

 

$

59,263

 


Long-lived assets include equipment and leasehold improvements and intangible and other assets attributable to each geographic area’s operations. Long-lived assets at December 31, 2020 and 2019 are as follows:

 

 

 

 

 

 

 

 

 

(In thousands)

 

2020

 

2019

Long-lived assets:

 

 

 

 

 

 

United States

 

$

2,814

 

 

$

3,256

 

Europe

 

6

 

 

 

Asia and other

 

740

 

 

395

 

Total long-lived assets

 

$

3,560

 

 

$

3,651

  

XML 34 R21.htm IDEA: XBRL DOCUMENT v3.20.4
Share Repurchases
12 Months Ended
Dec. 31, 2020
SHARE REPURCHASES [Abstract]  
SHARE REPURCHASES

NOTE 14  SHARE REPURCHASES

In July 2019, our Board of Directors authorized a $3.0 million share repurchase program which expired on June 30, 2020. There were no share repurchases under this program in 2020 prior to its expiration. In 2019, we spent $353,000 under this program to repurchase 25,985 shares of our common stock. 

XML 35 R22.htm IDEA: XBRL DOCUMENT v3.20.4
Contingencies
12 Months Ended
Dec. 31, 2020
CONTINGENCIES [Abstract]  
CONTINGENCIES

NOTE 15  CONTINGENCIES


We are periodically a defendant in miscellaneous lawsuits, claims and disputes in the ordinary course of business. While the outcome of these matters cannot be predicted with certainty, management presently believes the disposition of these matters will not have a material effect on our financial position, results of operations or cash flows.

In the normal course of business to facilitate sales of our products and services, we at times indemnify other parties, including customers, with respect to certain matters. In these instances, we have agreed to hold the other parties harmless against losses arising out of intellectual property infringement or other types of claims. These agreements may limit the time within which an indemnification claim can be made, and almost always limits the amount of the claim. It is not possible to determine the maximum potential amount of exposure under these indemnification agreements due to the limited history of prior indemnification claims and the unique facts and circumstances involved in each particular agreement. Historically, payments made, if any, under these agreements have not had a material impact on our operating results, financial position or cash flows.

XML 36 R23.htm IDEA: XBRL DOCUMENT v3.20.4
Quarterly Financial Information (Unaudited)
12 Months Ended
Dec. 31, 2020
QUARTERLY FINANCIAL INFORMATION (UNAUDITED) [Abstract]  
QUARTERLY FINANCIAL INFORMATION (UNAUTDITED)

NOTE 16  QUARTERLY FINANCIAL INFORMATION (UNAUDITED)

(In thousands, except per share amounts)


2020

 

March 31

 

June 30

 

September 30

 

December 31

 

Total

Revenues

 

$

16,429

 

 

$

15,996

 

 

$

20,820

 

 

$

16,872

 

 

  $

70,117

 

Gross margin

 

7,283

 

 

7,314

 

 

8,695

 

 

7,925

 

 

 

31,217

 

Income from operations

 

729

 

1,473

 

 

2,210

 

1,585

 

 

 

5,997

 

Net income

 

844

 

1,633

 

 

1,799

 

1,466

 

 

 

5,742

 

Net income per share - Basic (1)

 

0.12

 

0.23

 

 

0.25

 

0.20

 

 

 

0.80

 

Net income per share - Diluted (1)

 

0.11

 

0.22

 

 

0.24

 

0.20

 

 

 

0.77

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2019

 

March 31

 

June 30

 

September 30

 

December 31

  

Total

Revenues

 

$

14,976

 


$

15,044

 


$

12,391

 


$

16,852



$

59,263


Gross margin

 

7,026

 

 

6,589

 

 

5,506

 

 

7,181

 

 

 

26,302

 

Income (loss) from operations

 

570

 

579

 

 

(757

)

 

544

 

 

 

936

 

Net income (loss)

 

495

 

464

 

 

(353

)

 

168

 

 

 

774

 

Net income (loss) per share - Basic (1)

 

0.07

 

0.07

 

 

(0.05

)

 

0.02

 

 

 

0.11

 

Net income (loss) per share - Diluted (1)

 

0.07

 

0.06

 

 

(0.05

)

 

0.02

  

 

 

0.11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1) The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely.
XML 37 R24.htm IDEA: XBRL DOCUMENT v3.20.4
Business Description And Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2020
BUSINESS DESCRIPTION AND SIGNIFICANT ACCOUNTING POLICIES [Abstract]  
Principles of Consolidation

Principles of Consolidation

The consolidated financial statements include the accounts of CyberOptics Corporation and its wholly-owned subsidiaries. In these notes to the consolidated financial statements, these companies are collectively referred to as “CyberOptics,” “we,” “us,” or “our.” All significant inter-company accounts and transactions have been eliminated in consolidation.

Segment Reporting

Segment Reporting

We operate in a single reportable segment that includes the design, development and manufacture of high precision sensing, inspection and metrology solutions for the SMT and semiconductor markets.

Use of Estimates

Use of Estimates

The preparation of consolidated financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates.

Cash and Cash Equivalents

Cash and Cash Equivalents

We consider all highly liquid investments purchased with an original maturity of 90 days or less to be cash equivalents. Cash and cash equivalents consist of funds maintained in demand deposit accounts, money market accounts, certificate of deposits, corporate debt instruments and U.S. government backed obligations. Cash and cash equivalent balances, at times, may exceed federally insured limits. 

Marketable Securities

Marketable Securities


All marketable securities are classified as available-for-sale and consist of U.S. government and agency backed obligations, certificates of deposit, corporate debt instruments, asset backed securities or equity securities. Marketable securities are classified as short-term or long-term in the consolidated balance sheets based on their maturity date and expectations regarding sales.


Available-for-sale securities are carried at fair value. Unrealized gains and losses for marketable debt securities are reported as a separate component of stockholders’ equity until realized. Unrealized gains and losses for marketable equity securities are recognized in net income. Fair values are primarily determined using quoted market prices or valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The carrying amounts of securities, for purposes of computing unrealized gains and losses, are determined by specific identification. The cost of securities sold is also determined by specific identification.

We monitor the carrying value of our marketable debt securities compared to their fair value to determine whether an other-than-temporary impairment has occurred. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. If a decline in fair value of our marketable debt securities is determined to be other-than-temporary, an impairment charge related to that specific investment is recorded in net income.


Cash and marketable securities held by foreign subsidiaries totaled $672,000 at December 31, 2020 and $327,000 at December 31, 2019.

Inventories

Inventories

 

Inventories are stated at the lower of cost or net realizable value, with cost determined using the first-in, first-out (FIFO) method. Appropriate consideration is given to deterioration, obsolescence, and other factors in evaluating net realizable value.  

Accounts Receivable and Allowance for Doubtful Accounts

Accounts and Trade Notes Receivable


We extend unsecured credit to our customers in the normal course of business. We periodically provide financing to customers for the purchase of SQ3000 Multi-Function system products. Trade notes receivable bear interest at annual effective rates ranging from approximately 5% to 7%, and are repayable over periods ranging from 18 to 36 months. The current portion of the trade notes are classified as accounts receivable in the accompanying balance sheets.


Interest income will be discontinued for any trade notes receivable with a specific reserve established if it is likely that we will be unable to collect all amounts due according to the original terms of the trade notes. For these trade notes receivable, cash collection will first be applied as a reduction to principal outstanding. Any cash received in excess of the outstanding principal payments will be recognized as interest income. Trade notes receivable may be removed from non-accrual status with respect to interest income based upon changes in customer circumstances, including a sustained history of payments. At December 31, 2020, none of our trade notes receivable were in a non-accrual status with respect to interest income.


Allowance for Doubtful Accounts and Trade Notes 

 

Allowances for doubtful accounts are maintained for estimated losses resulting from the inability of our customers to make required payments. In making the determination of the appropriate allowance for doubtful accounts, we consider specific accounts, historical write-offs, changes in customer relationships and credit worthiness and concentrations of credit risk. Specific accounts and trade notes receivable are written-off once a determination is made that the account is uncollectible.
Equipment and Leasehold Improvements

Equipment and Leasehold Improvements

 

Equipment and leasehold improvements are stated at cost. Significant additions or improvements extending asset lives are capitalized, while repairs and maintenance are charged to expense as incurred. In-progress costs are capitalized with depreciation beginning when assets are placed in service. Depreciation is recorded using the straight-line method over the estimated useful lives of the equipment, ranging from one to seven years. Leasehold improvements are amortized using the straight-line method over the shorter of the asset useful life or the underlying lease term, ranging from one to eight years. Gains or losses on dispositions are included in current operations.

Goodwill

Goodwill

 

Goodwill represents the excess of purchase price over the fair value of net assets acquired in a business combination. We have determined that we have one reporting unit. We evaluate the carrying value of goodwill annually on December 31st and more frequently if management believes indicators of impairment exist. Such indicators could include, but are not limited to (1) a significant adverse change in legal factors or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. We first assess qualitative factors to determine whether it is more likely than not that our fair value is greater than carrying value (i.e. net book value). If we conclude that it is more likely than not that our fair value is greater than carrying value, no further testing is required. If we conclude that it is more likely than not that our fair value is less than carrying value, we estimate our fair value using the income approach. The income approach is a valuation technique under which we estimate future cash flows using financial forecasts. Future estimated cash flows are discounted to their present value to calculate fair value. When considering fair value, we also give consideration to the control premium in excess of our current market capitalization that might be obtained from a third party acquirer. Goodwill impairment is measured as the amount by which our carrying value exceeds our fair value, but not in an amount in excess of the carrying value of goodwill.

 

On December 31, 2020 and 2019, we performed a qualitative assessment to determine if there was any indication that our goodwill might be impaired. After considering all available evidence, including our financial performance, financial outlook and current market capitalization, we concluded that it is more likely than not that our fair value is greater than carrying value. As a result, no further testing was deemed necessary, and we determined that our goodwill was not impaired. Therefore, no amounts were recorded for goodwill impairment in 2020 or 2019.

Patents

Patents

 

Patents consist of legal and patent registration costs for protection of our proprietary technology. We amortize patent costs on a straight-line basis, based upon their estimated life.

Long Lived Assets

Long Lived Assets

 

Intangible assets subject to amortization and other long-lived assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of the assets may not be recoverable. An impairment loss would be recognized when future undiscounted cash flows expected to result from use of the asset and eventual disposition are less than the carrying amount. 

Operating Leases

Operating Leases


We determine if an arrangement is a lease at inception. Operating leases are recorded in operating lease right-of-use (ROU) assets, current operating lease liabilities, and long-term operating lease liabilities in our consolidated balance sheets. ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized based on the present value of lease payments over the lease term. The operating lease ROU assets exclude lease incentives. As our leases do not provide an implicit rate, we use our incremental borrowing rate to determine the present value of lease payments. Our leases may include renewal options to extend the lease term, the exercise of which are at our sole discretion. In our accounting treatment of leases, the lease terms used do not include any option to extend the lease, because it is not reasonably certain that we will exercise the option. Lease expense is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components (e.g., common-area or other maintenance costs) which are generally accounted for separately and expensed monthly. We do not recognize a ROU asset and lease liability for leases having a term of 12 months or less at the effective date.

Revenue Recognition

Revenue Recognition

 

Revenue is measured based on consideration specified in the contract with a customer. A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account for purposes of revenue recognition. Revenue from all customers, including distributors, is recognized when a performance obligation is satisfied by transferring control of a product or service to a customer. Amounts billed to customers for shipping and handling are included in revenue. All shipping and handling costs associated with outbound freight are accounted for as fulfillment costs and are included in cost of sales. Taxes collected from customers and remitted to governmental authorities are excluded from revenue on the net basis of accounting. Accounts receivable are due under normal trade terms, typically 120 days or less.


Our performance obligations are mostly satisfied at a point in time and to a lesser extent over time as work progresses. Revenue for products and services transferred to customers at a point in time is recognized when obligations under the terms of the contract with our customer are satisfied; generally with the transfer of control upon shipment. Sales of some products may require customer acceptance due to performance or other acceptance criteria that is considered more than a formality. For these product sales, revenue is recognized upon notification of customer acceptance.


Sales involving multiple performance obligations typically include the sale of an inspection or metrology systems product, installation and training, and in some cases, an extended warranty. When a sale involves multiple performance obligations, we account for individual products and services separately if the customer can benefit from the product or service on its own or with other resources that are readily available to the customer and the product or service are separately identifiable from other promises in the arrangement. Undelivered performance obligations in an arrangement are typically minimal, consisting of undelivered installation and training services. The consideration is allocated between separate performance obligations in proportion to their estimated stand-alone selling price. If the stand-alone selling price is not directly observable, we use the cost plus margin approach to estimate stand-alone selling price. Costs related to products delivered are recognized in the period revenue is recognized; including product warranties for periods ranging from 1 to 3 years (see Note 9).

 

Periodically, sensor product arrangements with our original equipment manufacturers (OEM's) will create an asset with no alternative use and include an enforceable right to payment. For these arrangements, control is transferred over the manufacturing process; therefore, revenue is recognized over time utilizing an input method based on actual costs incurred in the manufacturing process to date relative to total expected production costs. For certain longer duration 3D scanning service projects, we progress bill as the services are performed. These arrangements create an asset with no alternative use and include an enforceable right to payment. For these arrangements, control is transferred over the hours incurred to complete the scanning project; therefore, revenue is recognized over time utilizing an input method based on actual hours incurred relative to total projected project hours. For maintenance and extended warranty contracts, revenue is recognized over time on a straight-line basis over the term of the contract as the customer simultaneously receives and consumes the benefits of the coverage.

 

Practical Expedients 


We generally expense the incremental costs of obtaining a contract when incurred because the amortization period for these costs would be less than one year. These costs primarily relate to sales commissions and are recorded in selling, general and administrative expense in our consolidated statements of operations. 


We do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less, primarily consisting of product installation and training. We do not adjust the promised amount of consideration for the effects of a significant financing component if we expect, at contract inception, that the period between when we transfer a promised good or service to a customer and when the customer pays for that good or service will be one year or less. 



Foreign Currency Translation And Transactions

Foreign Currency Translation

Financial position and results of operations of our international subsidiaries are measured using local currency as their functional currency. Assets and liabilities of these operations are translated at the exchange rates in effect at each fiscal year-end. Statements of operations accounts are translated at the average rates of exchange prevailing during the year. Translation adjustments arising from the use of differing exchange rates from period to period are included as a cumulative translation adjustment in stockholders’ equity.

Foreign Currency Transactions

Foreign currency transaction gains and losses are included in interest income and other, net in the statement of operations. We recognized foreign currency transaction gains of $27,000 in 2020. We recognized foreign transaction losses of $127,000 in 2019.


Research and Development

Research and Development

Research and development (R&D) costs, including product software development, are expensed when incurred. Product software development costs are required to be expensed until the point that technological feasibility and proven marketability of the product are established; costs otherwise capitalizable after such point also are expensed because they are insignificant. All other R&D costs are expensed as incurred. R&D expenses consist primarily of salaries, project materials, contract labor and other costs associated with ongoing product development and enhancement efforts.

Advertising Costs

Advertising Costs

We expense all advertising costs as incurred. Advertising expenses were $371,000 in 2020 and $408,000 in 2019.

Warranty Costs Warranty Costs

 

We provide for the estimated cost of product warranties, which cover products for periods ranging from one to three years at the time revenue is recognized.
Income Taxes

Income Taxes

We evaluate uncertain tax positions using the “more likely than not” threshold (i.e., a likelihood of occurrence greater than fifty percent). The recognition threshold is met when an entity concludes that a tax position, based solely on its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority. Those tax positions failing to qualify for initial recognition are classified as a gross unrecognized tax benefit until the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statute of limitations. De-recognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.

 

Only the portion of the unrecognized tax benefit that is expected to be paid within one year is classified as a current liability. As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statute of limitations) or are not expected to be paid within one year are not classified as current. It is our policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.

Deferred income taxes are recorded to reflect the tax consequences in future years of differences between the financial reporting and tax bases of assets and liabilities. Income tax expense is the sum of the tax currently payable and the change in the deferred tax assets and liabilities during the period, excluding changes in deferred tax assets recorded to goodwill. Valuation allowances are established when, in the opinion of management, it is more likely than not that some portion or all of the deferred tax assets will not be realized. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on all positive and negative evidence.

Net Income Per Share

Net Income Per Share


Basic net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. Common equivalent shares consist of common shares to be issued upon exercise of stock options, vesting of restricted stock units, vesting of restricted shares and from purchases of shares under our employee stock purchase plan, as calculated using the treasury stock method. Common equivalent shares are excluded from the calculation of net income per diluted share if their effect is anti-dilutive.



Comprehensive Income


Total comprehensive income and the components of accumulated other comprehensive loss are presented in the Consolidated Statements of Comprehensive Income and the Consolidated Statements of Stockholders' Equity. Accumulated other comprehensive loss is composed of foreign currency translation effects and unrealized gains and losses on available-for-sale marketable debt securities. We use the individual item approach for releasing income tax effects from accumulated other comprehensive loss.


Comprehensive Income

Comprehensive Income


Total comprehensive income and the components of accumulated other comprehensive loss are presented in the Consolidated Statements of Comprehensive Income and the Consolidated Statements of Stockholders' Equity. Accumulated other comprehensive loss is composed of foreign currency translation effects and unrealized gains and losses on available-for-sale marketable debt securities. We use the individual item approach for releasing income tax effects from accumulated other comprehensive loss.

Fair Value of Financial Instruments

Fair Value of Financial Instruments 


The carrying amounts of financial instruments such as cash equivalents, accounts receivable, other assets, accounts payable, advance customer payments, accrued expenses and other liabilities approximate their related fair values due to the short-term maturities of these instruments. The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial.

Share-Based Compensation

Share-Based Compensation


All share-based payments to employees, including grants of stock options, are required to be recognized as an expense in our consolidated statements of operations based on the grant date fair value of the award. We utilize the straight-line method of expense recognition over the award’s service period for our graded vesting options. The fair value of stock options has been determined using the Black-Scholes model. We account for the impact of forfeitures related to employee share-based payment arrangements when the forfeitures occur. We have classified employee share-based compensation within our consolidated statements of operations in the same manner as our cash based employee compensation costs.

See Note 7 to the consolidated financial statements for additional information related to employee share-based compensation. 

Related Party Transactions

Related Party Transactions


We periodically sell or purchase products from companies for which our board members serve in an executive capacity and in some cases on the board of directors. These transactions occur in the normal course of business. Our cumulative sales to these companies were $40,000 in 2020 and $4,000 in 2019Our cumulative purchases from these companies were $59,000 in 2020.  There were no such purchases in 2019. 


Recent Accounting Developments

Recent Accounting Developments


In February 2016, the Financial Accounting Standards Board (FASB) issued new lease accounting guidance, ASU 2016-02, Leases (Topic 842), which we adopted on January 1, 2019. Under Topic 842, lessees are required (a) to recognize a lease liability, which is a lessee's obligation to make lease payments arising from a lease, measured on a discounted basis, and (b) to record a right-of-use asset, which is an asset that represents the lessee’s right to use, or control the use of, a specified asset for the lease term. In July 2018, the FASB issued ASU 2018-11, Leases (Topic 842), Targeted Improvements, which gave companies the option of applying the new standard at the adoption date, rather than retrospectively to the earliest period presented in the financial statements, with recognition of a cumulative-effect adjustment to the opening balance of retained earnings in the period of adoption. We chose the option to apply the new standard at the adoption date, and therefore we were not required to restate the financial statements of prior periods. Our adoption of Topic 842 on January 1, 2019 resulted in a $33,000 increase in retained earnings to record the cumulative effect adjustment. Our adoption of Topic 842 did not impact our cash flows or have a material impact on our results of operations. 


In June 2016, the FASB issued ASU No. 2016-13, Measurement of Credit Losses on Financial Instruments, which revises guidance for the accounting for credit losses on financial instruments within its scope, and in November 2018, issued ASU No. 2018-19, which amended the standard. The new standard introduces an approach to estimating credit losses that is based on expected losses (referred to as the current expected credit losses model), and applies to most financial assets measured at amortized cost and certain other instruments, including available-for-sale marketable debt securities, trade and other receivables. The new standard is effective for us on January 1, 2023, with early adoption permitted. We are required to apply the standard’s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted. We presently do not believe the new standard will have a material impact on our consolidated financial statements.


No other new accounting pronouncements are expected to have a significant impact on our consolidated financial statements.


XML 38 R25.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Recognition - Topic 606 (Tables)
12 Months Ended
Dec. 31, 2020
REVENUE RECOGNITION - TOPIC 606  
Summary of revenue performance obligations The following is a summary of our revenue performance obligations:


For the Year Ended December 31,


2020
2019

(In thousands)


Revenues


Percent of Revenues


Revenues

Percent of Revenues

Revenue recognized over time
$ 1,715
2 %
$ 2,029
3 %
Revenue recognized at a point in time

68,402
98 %

57,234
97 %


$ 70,117
100 %
$ 59,263
100 %
Summary of contract assets and contract liabilities

The following summarizes our contract assets and contract liabilities: 


(In thousands)

 

December 31, 2020

December 31, 2019

Contract assets, included in other current assets

 

$

2

 

 

$

 2

 

Contract liabilities - advance customer payments

 

$

567

 

 

$

389

 

Contract liabilities - deferred warranty revenue
$ 344

$ 275
Summary of the amounts reclassified from beginning contract liabilities to revenue

The following summarizes the amounts reclassified from beginning contract liabilities to revenue:

Year Ended December 31,

(In thousands)

 

2020

2019

Amounts reclassified from beginning contract liabilities to revenue

 

$

171

 

 

$

 334

 

Amounts reclassified from deferred warranty revenue

193

213

Total

$

364

$

547

XML 39 R26.htm IDEA: XBRL DOCUMENT v3.20.4
Marketable Securities (Tables)
12 Months Ended
Dec. 31, 2020
MARKETABLE SECURITIES [Abstract]  
Schedule of Marketable Securities

Our investments in marketable securities are classified as available-for-sale and consist of the following: 

 

 

December 31, 2020

(In thousands)

 

Cost

 

Unrealized
Gains

 

Unrealized
Losses

 

Fair Value

Short-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

4,817

 

 

$

36

 

 

$

 

$

4,853

 

Corporate debt securities and certificates of deposit

 

3,113

 

 

21

 

 

 

3,134

 

Asset backed securities

 

133

 

 

1

 

 

 

134

 

Marketable securities – short-term

 

$

8,063

 

 

$

58

 

 

$

 

$

8,121

 

Long-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

7,529

 

 

$

66

 

 

$

 

$

7,595

 

Corporate debt securities and certificates of deposit

 

3,975

 

 

61

 

 

(1

)

 

4,035

 

Asset backed securities

 

2,347

 

 

45

 

 

 

2,392

 

Equity security

 

42

 

 

 

 

(12

)

 

30

 

Marketable securities – long-term

 

$

13,893

 

 

$

172

 

 

$

(13

)

 

$

14,052

 



 

December 31, 2019

(In thousands)

 

Cost

 

Unrealized
Gains

 

Unrealized
Losses

 

Fair Value

Short-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

5,766

 

 

$

22

 

 

$

 

$

5,788

 

Corporate debt securities and certificates of deposit

 

1,085

 

 

1

 

 

 

1,086

 

Asset backed securities

 

1,417

 

 

4

 

 

 

1,421

 

Marketable securities – short-term

 

$

8,268

 

 

$

27

 

 

$

 

$

8,295

 

Long-Term

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

6,524

 

 

$

30

 

 

$

(1

)

 

$

6,553

 

Corporate debt securities and certificates of deposit

 

3,004

 

 

14

 

 

 

3,018

 

Asset backed securities

 

2,535

 

 

15

 

 

(1

)

 

2,549

 

Equity security

 

42

 

 

6

 

 

 

 

48

 

Marketable securities – long-term 

 

$

12,105

 

 

$

65

 

 

$

(2

)

 

$

12,168

  

Schedule of Unrealized Loss Position


In Unrealized Loss Position For
Less Than 12 Months
 
 In Unrealized Loss Position For
Greater Than 12 Months
(In thousands)  
 
Fair Value
 
Gross Unrealized
Losses
 
Fair Value
 
Gross Unrealized
Losses
December 31, 2020
 
 

 
 

 
 

 
 

U.S. government and agency obligations
 
$
330

 
$
 
$
 
$
Corporate debt securities and certificates of deposit
 
411

 
(1
)
 
 
Marketable securities
 
$
741

 
$
(1
)
 
$
 
$
December 31, 2019
 
 

 
 

 
 

 
 

U.S. government and agency obligations
 
$
149

 
$
(1
)
 
$
 
$
Corporate debt securities and certificates of deposit
 
271

 
 
 
Asset backed securities
 
684

 
(1
)
 
 
Marketable securities
 
$
1,104

 
$
(2
)
 
$
 
$
XML 40 R27.htm IDEA: XBRL DOCUMENT v3.20.4
Comprehensive Income (Tables)
12 Months Ended
Dec. 31, 2020
COMPREHENSIVE INCOME [Abstract]  
The Effect of the Reclassification from Comprehensive Income (Loss) to Earnings

 


Year Ended December 31, 2020

 

Year Ended December 31, 2019

(In thousands)

 

Before Tax

 

Tax Effect

 

Net of Tax
Amount

 

Before Tax

 

Tax Effect

 

Net of Tax
Amount

Foreign currency translation adjustments

 

$

190

 

$

 

$

190

 

$

174

 

$

 

$

174

Unrealized gains on available-for-sale securities

 

145


 

(31

)

 

114


 

138


 

(28

)

 

110

Other comprehensive income 

 

$

335

 

$

(31

)

 

$

304

 

$

312

 

$

(28

)

 

$

284

Schedule of Accumulated Other Comprehensive Loss

At December 31, 2020 and December 31, 2019 components of accumulated other comprehensive loss is as follows:

 

 

 

 

 

 

 

 

 

 

 

 

 

(In thousands)

 

Foreign
Currency
Translation
Adjustments

 

Available-
for-Sale
Securities

 

Accumulated
Other
Comprehensive
Loss

Balances at December 31, 2018

 

$

(1,649

)

 

$

(41

)

 

$

(1,690

)

Other comprehensive income for the year ended December 31, 2019

 

174

 

110

 

284

Balances at December 31, 2019

 

$

(1,475

)

 

$

69

 

$

(1,406

Other comprehensive income for the year ended December 31, 2020

 

 

190

 

 

114

 

 

304

Balances at December 31, 2020

 

$

(1,285

 

$

183

 

$

(1,102

)
XML 41 R28.htm IDEA: XBRL DOCUMENT v3.20.4
Fair Value Measurements (Tables)
12 Months Ended
Dec. 31, 2020
FAIR VALUE MEASUREMENTS [Abstract]  
Fair Value Measurements for Marketable Securities and Foreign Exchange Forward Contracts The following provides information regarding fair value measurements for our marketable securities as of December 31, 2020 and December 31, 2019 according to the three-level fair value hierarchy.

 

 

Fair Value Measurements at
December 31, 2020 Using

(In thousands)

 

Balance
December 31, 2020

 

Quoted Prices
in Active
Markets for
Identical
Assets
(Level 1)

 

Significant
Other Observable Inputs
(Level 2)

 

Significant
Unobservable Inputs
(Level 3)

Marketable securities:

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

12,448

 

 

$

 

 

$

12,448

 

 

$

 

Corporate debt securities and certificates of deposit

 

7,169

 

 

 

 

7,169

 

 

 

Asset backed securities

 

2,526

 

 

 

 

2,526

 

 

 

Equity security

 

30

 

 

30

 

 

 

 

 

Total marketable securities

 

$

22,173

 

 

$

30

 

 

$

22,143

 

 

$

  

 

 

 

Fair Value Measurements at
December 31, 2019 Using

(In thousands)

 

Balance
December 31, 2019

 

Quoted Prices
in Active
Markets for
Identical
Assets
(Level 1)

 

Significant
Other Observable Inputs
(Level 2)

 

Significant
Unobservable Inputs
(Level 3)

Marketable securities:

 

 

 

 

 

 

 

 

 

 

 

 

U.S. government and agency obligations

 

$

12,341

 

 

$

 

 

$

12,341

 

 

$

 

Corporate debt securities and certificates of deposit

 

4,104

 

 

 

 

4,104

 

 

 

Asset backed securities

 

3,970

 

 

 

 

3,970

 

 

 

Equity security

 

48

 

 

48

 

 

 

 

 

Total marketable securities

 

$

20,463

 

 

$

48

 

 

$

20,415

 

 

$

  

XML 42 R29.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation (Tables)
12 Months Ended
Dec. 31, 2020
SHARE-BASED COMPENSATION [Abstract]  
Schedule Of Stock Option Activity

The following is a summary of activity in stock options for 2020:

 

 

 

 

 

 

 

 


 

Options Outstanding

 

Weighted Average Exercise
Price Per Share

Outstanding, December 31, 2019

 

520,513

 

 

$

12.25

 

Granted

 

38,150

 

 

28.32

 

Exercised

 

(139,563

)

 

7.71

 

Outstanding, December 31, 2020

 

419,100

 

 

$

15.22

 

Exercisable, December 31, 2020

 

294,026

 

 

$

13.01

 

Schedule Of Stock Option Valuation Assumptions

For stock options granted in the two-year period ended December 31, 2020, we utilized the fair value of our common stock on the date of grant and employed the following key assumptions in computing fair value using the Black-Scholes option-pricing model:


 

 

 

 

 

 

 

 

2020

 

2019

Risk-free interest rates

0.44% - 0.50%

 

1.67% - 1.69%

Expected life in years

5.12 - 5.55 

 

5.00 - 5.40

Expected volatility

 59.43% - 59.81%

 

54.38% - 54.87%

Dividend yield

0.00%

 

0.00%

Weighted average fair value on grant date

$14.58

 

$7.96

Schedule Of Non-Vested Restricted Stock Activity

The following is a summary of activity in restricted shares and restricted stock units for 2020:

 

Non-vested restricted stock units

 

Shares

 

Weighted Average Grant Date
Fair Value

Non-vested at December 31, 2019

 

68,204

 

 

$

17.39

 

Granted

 

30,700

 

 

28.33

 

Vested

 

(30,450

)

 

19.29

 

Non-vested at December 31, 2020

 

68,454

 

 

$

21.45

 

Summary Of Pre-tax Equity Based Compensation Expense

 

 

 

 

 

 

 

 

(In thousands)

 

 2020

 

2019

Pre-tax share-based compensation expense

 

$

1,181

 

$

991

 

Income tax benefits related to share-based compensation

 

$

712


$

211

 

XML 43 R30.htm IDEA: XBRL DOCUMENT v3.20.4
Net Income Per Share (Tables)
12 Months Ended
Dec. 31, 2020
NET INCOME PER SHARE [Abstract]  
Schedule of Net Income Per Basic and Diluted Shares The components of net income per basic and diluted share were as follows:
   
(In thousands except per share amounts)
 
Net Income
 
Weighted Average Shares Outstanding
 
Per Share Amount
Year Ended 12/31/2020:
 
 
 

 
 
 
 
 

Basic
 
$
5,742

 
7,215
 
 
$
0.80

Dilutive effect of common equivalent shares
 

 
239
 
 
(0.03
)
Dilutive
 
$
5,742

 
7,454
 
 
$
0.77

 

 

 

 

 

 

 

 

 

 

 

 

(In thousands except per share amounts)

 

Net Income

 

Weighted Average Shares Outstanding

 

Per Share Amount

Year Ended 12/31/2019:

 

 

 

 

 

 

 

 

 

Basic

 

$

774

 

 

7,113

 

 

$

0.11

 

Dilutive effect of common equivalent shares

 

 

 

149

 

 

Dilutive

 

$

774

 

 

7,262

 

 

$

0.11

 

XML 44 R31.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Tables)
12 Months Ended
Dec. 31, 2020
OTHER FINANCIAL STATEMENT DATA [Abstract]  
Schedule of Inventory Components

Inventories consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Raw materials and purchased parts

 

$

11,903

 

 

$

9,845

 

Work in process

 

2,459

 

 

1,837

 

Finished goods

 

4,208

 

 

2,373

 

Demonstration inventories, net
1,701

1,525

Total inventories

 

$

20,271

 

 

$

15,580

 

Schedule of Equipment and Leasehold Improvements

Equipment and leasehold improvements consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Equipment

 

$

15,070

 

 

$

14,742

 

Leasehold improvements

 

3,072

 

 

2,987

 

 

 

18,142

 

 

17,729

 

Accumulated depreciation and amortization

 

(14,907

)

 

(14,388

)

 

 

$

3,235

 

 

$

3,341

 

Schedule of Intangible Assets

Intangible assets consist of the following:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

December 31, 2020

 

December 31, 2019

(In thousands)

 

Gross Carrying
Amount

 

Accumulated Amortization

 

Net

 

Gross Carrying
Amount

 

Accumulated Amortization

 

Net

Patents

 

$

1,832


 

$

(1,542

)

 

$

290

 

 

$

2,898

 

 

$

(2,662

)

 

$

236

 

Software

 


206


 

(200

)

 

6

 

 

206

 

 

(170

)

 

36

 

Marketing assets and customer relationships

 


101


 

(72

)

 

29

 

 

101

 

 

(63

)

 

38

 

 

 

$

2,139


 

$

(1,814

)

 

$

325

 

 

$

3,205

 

 

$

(2,895

)

 

$

310

  

Schedule of Amortization Expense for Intangible Assets

Amortization expense in 2020 and 2019 was as follows:

 

 

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

 

Weighted Avg. Remaining Life-Years at December 31, 2020

(In thousands)

 

2020

 

2019

 

Patents

 

$

153

 

 

$

134

 

 

1.7

Software

 

29

 

 

29

 

 

0.2

Marketing assets and customer relationships

 

9

 

 

9

 

 

3.2

 

 

$

191

 

 

$

172

 

 

  

Schedule of Accrued Expenses

Accrued expenses consist of the following:

 

 

December 31,

(In thousands)

 

2020

 

2019

Wages and benefits

 

$

2,768

 

 

$

1,319

 

Warranty liability

 

793

 

 

761

 

Income taxes payable
269

333

Other

 

63

 

 

159

 

 

 

$

3,893

 

 

$

2,572

  

Other Noncurrent Liabilities

Other liabilities consist of the following:

 

 

 

 

 

 

 

 

 

 

 

December 31,

(In thousands)

 

2020

 

2019

Deferred warranty revenue

 

$

88

 

 

$

81

 

Warranty liability

 

46

 

 

37

 

Contract liabilities 




84

 

 

$

134

 

 

$

202

 

Schedule of Changes in Estimated Warranty Liability

A reconciliation of the changes in our estimated warranty liability is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,  

(In thousands)

 

2020

 

2019 

 

Balance at beginning of period

 

$

798

 

 

$

789

 

Accrual for warranties

 

836

 

 

815

 

Warranty revision


43

 

186

Settlements made during the period

 

(838

)

 

(992

)

Balance at end of period

 

839

 

 

798

 

Current portion of estimated warranty liability

 

(793

)

 

(761

)

Long-term estimated warranty liability

 

$

46

 

 

$

37

 

Schedule of Changes in Deferred Warranty Revenue A reconciliation of the changes in our deferred warranty revenue is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31, 

(In thousands)

 

2020

 

2019 

 

Balance at beginning of period

 

$

275

 

 

$

218

 

Revenue deferrals

 

434

 

 

488

 

Amortization of deferred revenue

 

(365

)

 

(431

)

Total deferred warranty revenue

 

344

 

 

275

 

Current portion of deferred warranty revenue

 

(256

)

 

(194

)

Long-term deferred warranty revenue

 

$

88

 

 

$

81

  

XML 45 R32.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes (Tables)
12 Months Ended
Dec. 31, 2020
INCOME TAXES [Abstract]  
Schedule Of Income Before Income Taxes

Income before income taxes consists of the following:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Sources of income (loss) before income taxes:

 

 

 

 

 

 

 

United States

 

$

4,876

 

$

(172

)

Foreign

 


1,478


 

1,332

 

Total income before income taxes

 

6,354


 

$

1,160

 

Schedule Of Provision (Benefit) For Income Taxes

The provision (benefit) for income taxes consists of the following:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Current:

 


 

 

 

 

Federal

 

$

26

 

$

State

 

19

 

 

30

 

Foreign

 

201

 

(37

)

Total current

 

246

 

$

(7

)

Deferred:

 


 

 

 

 

Federal

 

$

361

 

$

338

State

 

 

 

1

 

Foreign

 

5

 

54

Total deferred

 

$

366

 

$

393

Total provision for income taxes

 

$

612

 

$

386

Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate

A reconciliation of the statutory rate to the effective income tax rate is as follows:

 

 

 

 

 

 

 

 

 

Year Ended December 31,

 

 

2020

 

 

2019

Federal statutory rate

 

21.0

%


21.0

%

State income taxes, net of federal benefit

 

0.2

 

 

2.1

 

U.S. Subpart F income

 

0.6

 

 

1.2

 

Global Intangible Low-Taxed Income (GILTI)/Foreign Derived Intangible Income

 

2.1

 

 

17.4

 

Share-based compensation

 

(7.4

)

 

(0.2

)

Research and experimentation (R&D) credit

 

(3.2

)

 

(16.8

)

Foreign tax credit
(2.2 )

Foreign rate difference

 

(1.1

)

 

(6.0

)
Singapore jobs support program
(1.3 )


Unrecognized tax benefit

 

0.4

 

(16.6

)

Valuation allowance

 

(4.2

)

 

10.5

Expiring and unrecognized deferred tax attributes 
3.7

16.1

Other, net

 

1.0

 

 

4.6

 

Effective tax rate

 

9.6

%


33.3

%
Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits ("UTB")

A reconciliation of the beginning and ending amount of gross unrecognized tax benefits (“UTB”) is as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

2020

 

2019

Gross UTB balance at beginning of year

 

$

1,761

 

 

$

2,542

 

Additions based on tax positions related to the current year

 

137

 

 

97

 

Additions for tax positions of prior years

 

60

 

 

18

 

Reductions for tax positions of prior years

 

(169

)

 

(896

)

Reductions due to lapse of applicable statute of limitations

 

 

 

Gross UTB balance at end of year

 

$

1,789

 

 

$

1,761

 

Net UTB balance at end of year

 

197

 

 

$

160

 

Schedule Of Deferred Tax Assets And Liabilities

Deferred tax assets and liabilities consist of the following:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

December 31, 2020

 

December 31, 2019

(In thousands)

 

Assets

 

Liabilities

 

Assets

 

Liabilities

Equipment, leaseholds and intangible amortization, net

 

$

176

 

 

$

251

 

 

$

200

 

 

$

287

 

Operating lease liabilities

839







755



Right-of-use assets (operating leases)




478







340

Inventory allowances

 

549

 

 

5

 

 

610

 

 

 

Accrued expenses

 

129

 

 

 

 

110

 

 

 

Warranty accrual

 

182

 

 

 

 

173

 

 

 

Deferred revenue

 

214

 

 


 

 

429

 

 

 

Federal and state tax credits

 

3,960

 

 


 

 

4,001

 

 

 

Federal and state net operating loss carry forwards

 

275

 

 

 

 

555

 

 

 

Share-based compensation

 

358

 

 


 

 

369

 

 

 

Other, net

 

113

 

 

50

 

 

114

 

 

18

 

Subtotal

 

6,795

 

 

784

 

 

7,316

 

 

645

 

Valuation allowance

 

(1,414

)

 


 

 

(1,679

)

 

 

Total deferred tax assets and liabilities

 

$

5,381

 

 

$

784

 

 

$

5,637

 

 

$

645

  

XML 46 R33.htm IDEA: XBRL DOCUMENT v3.20.4
Operating Leases (Tables)
12 Months Ended
Dec. 31, 2020
OPERATING LEASES [Abstract]  
Schedule of components of our costs for operating leases

The components of our costs for operating leases are as follows:



Year Ended

 Year Ended

Component (in thousands)

December 31, 2020
December 31, 2019

  Operating lease cost

$

723


$ 718

  Variable lease cost

272


269

  Short-term lease cost

38
21

  Total

$

1,033


$ 1,008
Schedule Of Future Minimum Lease Payments Required Under Non-cancelable Operating Lease Agreements At December 31, 2020, the future maturities of lease liabilities are as follows:

 

 

 

 

Twelve months ending December 31,

(In thousands)

2021

$

1,011

 

2022

1,023

 

2023

878

 

2024 658

2025

674

 

2026 & Thereafter 403

Total lease payments

 

4,647

  

Less: amount representing interest
584
Present value of operating lease liabilities $ 4,063
XML 47 R34.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Concentrations, Significant Customers, and Geographic Areas (Tables)
12 Months Ended
Dec. 31, 2020
REVENUE CONCENTRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS [Abstract]  
Summary Of Revenue By Product Line

The following summarizes our revenue by product line: 


 

 

   Year Ended December 31,

(In thousands)

 

2020

 

2019

High Precision 3D and 2D Sensors

 

$

17,522

 

 

$

12,579

 

Inspection and Metrology Systems

 

 

37,547

 

 

32,713

 

Semiconductor Sensors

 

 

15,048

 

 

13,971

 

Total

 

$

70,117

 

 

$

59,263

 

Schedule Of Revenue By Geographic Area

Revenues by geographic area is summarized as follows:

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31,

(In thousands)

 

 2020

 

2019

United States

 

$

14,134

 

 

$

14,459

 

Netherlands

 

 

2,237

 

 

1,658

 

Other Europe

 

 

7,017

 

 

8,009

 

China

 

 

18,903

 

 

11,553

 

Singapore

 

 

3,797

 

 

4,120

 

South Korea

 

 

6,376

 

 

4,678

 

Japan

 

 

3,172

 

 

3,630

 

Other Asia

 

 

11,702

 

 

8,496

 

Other

 

 

2,779

 

 

2,660

 

Total revenues

 

$

70,117

 

 

$

59,263

 

Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations Long-lived assets at December 31, 2020 and 2019 are as follows:

 

 

 

 

 

 

 

 

 

(In thousands)

 

2020

 

2019

Long-lived assets:

 

 

 

 

 

 

United States

 

$

2,814

 

 

$

3,256

 

Europe

 

6

 

 

 

Asia and other

 

740

 

 

395

 

Total long-lived assets

 

$

3,560

 

 

$

3,651

  

XML 48 R35.htm IDEA: XBRL DOCUMENT v3.20.4
Quarterly Financial Information (Unaudited) (Tables)
12 Months Ended
Dec. 31, 2020
QUARTERLY FINANCIAL INFORMATION (UNAUDITED) [Abstract]  
Quarterly Financial Information

2020

 

March 31

 

June 30

 

September 30

 

December 31

 

Total

Revenues

 

$

16,429

 

 

$

15,996

 

 

$

20,820

 

 

$

16,872

 

 

  $

70,117

 

Gross margin

 

7,283

 

 

7,314

 

 

8,695

 

 

7,925

 

 

 

31,217

 

Income from operations

 

729

 

1,473

 

 

2,210

 

1,585

 

 

 

5,997

 

Net income

 

844

 

1,633

 

 

1,799

 

1,466

 

 

 

5,742

 

Net income per share - Basic (1)

 

0.12

 

0.23

 

 

0.25

 

0.20

 

 

 

0.80

 

Net income per share - Diluted (1)

 

0.11

 

0.22

 

 

0.24

 

0.20

 

 

 

0.77

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2019

 

March 31

 

June 30

 

September 30

 

December 31

  

Total

Revenues

 

$

14,976

 


$

15,044

 


$

12,391

 


$

16,852



$

59,263


Gross margin

 

7,026

 

 

6,589

 

 

5,506

 

 

7,181

 

 

 

26,302

 

Income (loss) from operations

 

570

 

579

 

 

(757

)

 

544

 

 

 

936

 

Net income (loss)

 

495

 

464

 

 

(353

)

 

168

 

 

 

774

 

Net income (loss) per share - Basic (1)

 

0.07

 

0.07

 

 

(0.05

)

 

0.02

 

 

 

0.11

 

Net income (loss) per share - Diluted (1)

 

0.07

 

0.06

 

 

(0.05

)

 

0.02

  

 

 

0.11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1) The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely.
XML 49 R36.htm IDEA: XBRL DOCUMENT v3.20.4
Business Description And Significant Accounting Policies (Details)
12 Months Ended
Dec. 31, 2020
USD ($)
reporting_unit
Dec. 31, 2019
USD ($)
Business Description And Significant Accounting Policies [Line Items]    
Cash held in foreign accounts $ 672,000 $ 327,000
Number of reporting units | reporting_unit 1  
Goodwill impairment   0
Maximum period in which accounts receivable become due 120 days  
Recognized foreign currency transactions gain (loss) $ 27,000 (127,000)
Advertising expense $ 371,000 408,000
Minimum [Member]    
Business Description And Significant Accounting Policies [Line Items]    
Trade notes receivable interest rate stated percentage 5.00%  
Trade notes receivable repayment period 18 months  
Estimated useful lives of the equipment and leasehold improvements (in years) 1 year  
Warranty period 1 year  
Warranty period (in years) 1 year  
Maximum [Member]    
Business Description And Significant Accounting Policies [Line Items]    
Trade notes receivable interest rate stated percentage 7.00%  
Trade notes receivable repayment period 36 months  
Estimated useful lives of the equipment and leasehold improvements (in years) 7 years  
Warranty period 3 years  
Warranty period (in years) 3 years  
Leasehold Improvements [Member] | Minimum [Member]    
Business Description And Significant Accounting Policies [Line Items]    
Estimated useful lives of the equipment and leasehold improvements (in years) 1 year  
Leasehold Improvements [Member] | Maximum [Member]    
Business Description And Significant Accounting Policies [Line Items]    
Estimated useful lives of the equipment and leasehold improvements (in years) 8 years  
Affiliated Entity [Member]    
Business Description And Significant Accounting Policies [Line Items]    
Sales to related party $ 40,000 4,000
Cumulative purchases $ 59,000 $ 0
XML 50 R37.htm IDEA: XBRL DOCUMENT v3.20.4
Business Description And Significant Accounting Policies (Details 2) - USD ($)
Dec. 31, 2020
Dec. 31, 2019
New Accounting Pronouncements or Change in Accounting Principle [Line Items]    
Retained earnings $ 28,813,000 $ 23,071,000
Right-of-use asset $ 2,621,000 2,111,000
ASU 2016-02 [Member]    
New Accounting Pronouncements or Change in Accounting Principle [Line Items]    
Retained earnings   $ (33,000)
XML 51 R38.htm IDEA: XBRL DOCUMENT v3.20.4
Covid-19 Pandemic (Narrative) (Details)
12 Months Ended
Dec. 31, 2020
USD ($)
Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Line Items]  
Order backlog not yet recognized $ 23,000,000.0
Singapore [Member] | Jobs Support Program [Member] | Reduced Employee Expenses [Member]  
Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Line Items]  
Operating expenses $ 410,000
XML 52 R39.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Recognition - Topic 606 (Narrative) (Details) - Effect of adoption of Topic 606 [Member] - Accounting Standards Update 2014-09 [Member]
12 Months Ended
Dec. 31, 2020
USD ($)
REVENUE RECOGNITION - TOPIC 606  
Impairment losses for contract assets $ 0
Minimum [Member]  
REVENUE RECOGNITION - TOPIC 606  
Period for deferred warranty revenue expected to be recognized 1 year
Maximum [Member]  
REVENUE RECOGNITION - TOPIC 606  
Period for deferred warranty revenue expected to be recognized 3 years
XML 53 R40.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Recognition - Topic 606 (Summary Of Revenue Performance Obligations) (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2020
Dec. 31, 2019
Performance Obligations                    
Revenues $ 16,872 $ 20,820 $ 15,996 $ 16,429 $ 16,852 $ 12,391 $ 15,044 $ 14,976 $ 70,117 $ 59,263
Percent of Revenues                 100.00% 100.00%
Revenue recognized over time [Member]                    
Performance Obligations                    
Revenues                 $ 1,715 $ 2,029
Percent of Revenues                 2.00% 3.00%
Revenue recognized at a point in time [Member]                    
Performance Obligations                    
Revenues                 $ 68,402 $ 57,234
Percent of Revenues                 98.00% 97.00%
XML 54 R41.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Recognition - Topic 606 (Summary Of Contract Assets And Contract Liabilities) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
REVENUE RECOGNITION - TOPIC 606    
Contract assets, included in other current assets $ 2 $ 2
Contract liabilities - advance customer payments 567 389
Contract liabilities - deferred warranty revenue $ 344 $ 275
XML 55 R42.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Recognition - (Summary of the amounts reclassified from beginning contract liabilities to revenue) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
REVENUE RECOGNITION - TOPIC 606    
Amounts reclassified from beginning contract liabilities to revenue $ 171 $ 334
Amounts reclassified from deferred warranty revenue 193 213
Total $ 364 $ 547
XML 56 R43.htm IDEA: XBRL DOCUMENT v3.20.4
Marketable Securities (Schedule Of Marketable Securities) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Short-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost $ 8,063 $ 8,268
Unrealized Gains 58 27
Unrealized Losses 0 0
Fair Value 8,121 8,295
Long-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost 13,893 12,105
Unrealized Gains 172 65
Unrealized Losses (13) (2)
Fair Value 14,052 12,168
U.S. Government And Agency Obligations [Member] | Short-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost 4,817 5,766
Unrealized Gains 36 22
Unrealized Losses 0 0
Fair Value 4,853 5,788
U.S. Government And Agency Obligations [Member] | Long-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost 7,529 6,524
Unrealized Gains 66 30
Unrealized Losses 0 (1)
Fair Value 7,595 6,553
Corporate Debt Securities And Certificates Of Deposit [Member] | Short-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost 3,113 1,085
Unrealized Gains 21 1
Unrealized Losses 0 0
Fair Value 3,134 1,086
Corporate Debt Securities And Certificates Of Deposit [Member] | Long-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost 3,975 3,004
Unrealized Gains 61 14
Unrealized Losses (1) 0
Fair Value 4,035 3,018
Asset Backed Securities [Member] | Short-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost 133 1,417
Unrealized Gains 1 4
Unrealized Losses 0 0
Fair Value 134 1,421
Asset Backed Securities [Member] | Long-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost 2,347 2,535
Unrealized Gains 45 15
Unrealized Losses 0 (1)
Fair Value 2,392 2,549
Equity Security [Member] | Long-Term [Member]    
Gain (Loss) on Investments [Line Items]    
Cost 42 42
Unrealized Gains 0 6
Unrealized Losses (12) 0
Fair Value $ 30 $ 48
XML 57 R44.htm IDEA: XBRL DOCUMENT v3.20.4
Marketable Securities (Narrative) (Details) - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Gain (Loss) on Investments [Line Items]    
Maximum maturity of debt securities (less than 5 years) 5 years  
Net pre-tax unrealized gains $ 229,000 $ 84,000
Marketable securities classified as cash equivalents 1,300,000 2,600,000
Unrealized gains or losses on marketable securities 0 0
Sale of marketable securities $ 0 $ 0
XML 58 R45.htm IDEA: XBRL DOCUMENT v3.20.4
Marketable Securities (Schedule Of Unrealized Loss Position) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Fair Value    
In Unrealized Loss Position For Less Than 12 Months $ 741 $ 1,104
In Unrealized Loss Position For Greater Than 12 Months 0 0
Gross Unrealized Losses    
In Unrealized Loss Position For Less Than 12 Months (1) (2)
In Unrealized Loss Position For Greater Than 12 Months 0 0
U.S. Government And Agency Obligations [Member]    
Fair Value    
In Unrealized Loss Position For Less Than 12 Months 330 149
In Unrealized Loss Position For Greater Than 12 Months 0 0
Gross Unrealized Losses    
In Unrealized Loss Position For Less Than 12 Months 0 (1)
In Unrealized Loss Position For Greater Than 12 Months 0 0
Corporate Debt Securities And Certificates Of Deposit [Member]    
Fair Value    
In Unrealized Loss Position For Less Than 12 Months 411 271
In Unrealized Loss Position For Greater Than 12 Months 0 0
Gross Unrealized Losses    
In Unrealized Loss Position For Less Than 12 Months (1) 0
In Unrealized Loss Position For Greater Than 12 Months $ 0 0
Asset Backed Securities [Member]    
Fair Value    
In Unrealized Loss Position For Less Than 12 Months   684
In Unrealized Loss Position For Greater Than 12 Months   0
Gross Unrealized Losses    
In Unrealized Loss Position For Less Than 12 Months   (1)
In Unrealized Loss Position For Greater Than 12 Months   $ 0
XML 59 R46.htm IDEA: XBRL DOCUMENT v3.20.4
Comprehensive Income (Narrative) (Details) - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
COMPREHENSIVE INCOME [Abstract]    
Reclassification from Accumulated Other Comprehensive Income, Current Period, before Tax $ 0 $ 0
XML 60 R47.htm IDEA: XBRL DOCUMENT v3.20.4
Comprehensive Income (The Effect of the Reclassifications from Comprehensive Income (Loss) to Earnings) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Foreign currency translation adjustments, Before Tax $ 190 $ 174
Foreign currency translation adjustments, Tax 0 0
Foreign currency translation adjustments, Net of Tax 190 174
Net change related to available-for-sale securities: Unrealized gains, Before Tax 145 138
Net change related to available-for-sale securities: Unrealized gains, Tax (31) (28)
Net change related to available-for-sale securities: Unrealized gains, Net of Tax 114 110
Total other comprehensive income before income taxes 335 312
Other comprehensive income (loss), Tax (31) (28)
Total other comprehensive income after income taxes $ 304 $ 284
XML 61 R48.htm IDEA: XBRL DOCUMENT v3.20.4
Comprehensive Income (Schedule of Accumulated Comprehensive Income (Loss)) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Balance at the beginning of period $ (1,406) $ (1,690)
Other comprehensive income (loss) before reclassifications 304 284
Total other comprehensive income after income taxes 304 284
Balance at the end of period (1,102) (1,406)
Foreign Currency Translation Adjustments [Member]    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Balance at the beginning of period (1,475) (1,649)
Other comprehensive income (loss) before reclassifications 190 174
Balance at the end of period (1,285) (1,475)
Available-for-sale Securities [Member]    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Balance at the beginning of period 69 (41)
Other comprehensive income (loss) before reclassifications 114 110
Balance at the end of period $ 183 $ 69
XML 62 R49.htm IDEA: XBRL DOCUMENT v3.20.4
Fair Value Measurements (Fair Value Measurements For Marketable Securities And Foreign Exchange Forward Contracts) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities $ 22,173 $ 20,463
Quoted Prices In Active Markets For Identical Assets (Level 1) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 30 48
Significant Other Observable Inputs (Level 2) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 22,143 20,415
Significant Unobservable Inputs (Level 3) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
U.S. Government And Agency Obligations [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 12,448 12,341
U.S. Government And Agency Obligations [Member] | Quoted Prices In Active Markets For Identical Assets (Level 1) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
U.S. Government And Agency Obligations [Member] | Significant Other Observable Inputs (Level 2) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 12,448 12,341
U.S. Government And Agency Obligations [Member] | Significant Unobservable Inputs (Level 3) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Corporate Debt Securities And Certificates Of Deposit [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 7,169 4,104
Corporate Debt Securities And Certificates Of Deposit [Member] | Quoted Prices In Active Markets For Identical Assets (Level 1) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Corporate Debt Securities And Certificates Of Deposit [Member] | Significant Other Observable Inputs (Level 2) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 7,169 4,104
Corporate Debt Securities And Certificates Of Deposit [Member] | Significant Unobservable Inputs (Level 3) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Asset Backed Securities [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 2,526 3,970
Asset Backed Securities [Member] | Quoted Prices In Active Markets For Identical Assets (Level 1) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Asset Backed Securities [Member] | Significant Other Observable Inputs (Level 2) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 2,526 3,970
Asset Backed Securities [Member] | Significant Unobservable Inputs (Level 3) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Equity Security [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 30 48
Equity Security [Member] | Quoted Prices In Active Markets For Identical Assets (Level 1) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 30 48
Equity Security [Member] | Significant Other Observable Inputs (Level 2) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 0
Equity Security [Member] | Significant Unobservable Inputs (Level 3) [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities $ 0 $ 0
XML 63 R50.htm IDEA: XBRL DOCUMENT v3.20.4
Fair Value Measurements (Narrative) (Details) - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
FAIR VALUE MEASUREMENTS [Abstract]    
Asset impairment charges $ 0 $ 0
XML 64 R51.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation (Narrative) (Details)
12 Months Ended
May 14, 2020
USD ($)
$ / shares
shares
May 16, 2019
USD ($)
$ / shares
shares
Dec. 31, 2020
USD ($)
qtr
plan
$ / shares
shares
Dec. 31, 2019
USD ($)
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of stock-based compensation plans | plan     3  
Common stock reserved for issuance pursuant to outstanding awards | shares     419,100 520,513
Shares granted, shares | shares     30,700  
Weighted average grant date fair value, granted (in usd per share) | $ / shares     $ 28.33  
Unvested shares | shares     68,454 68,204
Proceeds from exercise of stock options     $ 358,000 $ 248,000
Number of stock options expired or were forfeited | shares     0  
Number of restricted shares or restricted stock units expired or were forfeited | shares     0  
Equity based compensation expense     $ 1,181,000 991,000
Unrecognized compensation cost related to non-vested equity based compensation     $ 2,700,000  
Unrecognized equity based compensation weighted average period (in years)     2 years 10 months 24 days  
Tax benefit from the exercise of stock options and vesting of share based payments     $ 712,000 211,000
Stock Options [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Vesting period (in years)     4 years  
Expiration of stock options from date of grant (in years)     7 years  
Weighted average remaining contractual term (in years)     3 years 7 months 24 days  
Aggregate intrinsic value for all options outstanding     $ 3,500,000  
Weighted average remaining contractual term for exercisable options (in years)     2 years 8 months 26 days  
Aggregate intrinsic value of exercisable options     $ 3,000,000.0  
Aggregate intrinsic value of stock options exercised     2,700,000 359,000
Proceeds from exercise of stock options     358,000 248,000
Fair value of shares vested     456,000 439,000
Tax benefit from the exercise of stock options and vesting of share based payments     717,000 165,000
Excess tax benefit from the exercise of stock options     497,000 42,000
Stock Options And Restricted Stock Units (RSUs) [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Equity based compensation expense     $ 876,000 $ 751,000
Employee Stock Purchase Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares available for future issuance, shares | shares     136,791  
Maximum contribution per plan year     $ 6,500  
Employees can purchase stock at the percentage rate of the lower of the market price on the first or last day of the offering period (as a percent)     85.00%  
Shares granted, shares | shares     19,897 17,781
Equity based compensation expense     $ 111,000 $ 107,000
Employee Stock Purchase Plan [Member] | Minimum [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Payroll deduction for employee stock purchase plan percentage     1.00%  
Employee Stock Purchase Plan [Member] | Maximum [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Payroll deduction for employee stock purchase plan percentage     10.00%  
Restricted Stock Units (RSUs) [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Vesting period (in years)     4 years  
Restricted stock units to common stock ratio, shares entitled, shares | shares     1  
Restricted Shares and Restricted Stock Units [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Shares granted, shares | shares     30,700 39,550
Weighted average grant date fair value, granted (in usd per share) | $ / shares     $ 28.33 $ 16.44
Aggregate intrinsic value for all options outstanding     $ 1,600,000  
Fair value of shares vested     $ 857,000 $ 458,000
Stock Incentive Plan [Member] | Stock Options [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares available for future issuance, shares | shares     124,501  
Common stock reserved for issuance pursuant to outstanding awards | shares     471,554  
Non Employee Director Stock Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares available for future issuance, shares | shares     44,000  
Common stock reserved for issuance pursuant to outstanding awards | shares     12,000  
Number of shares granted for non-employee directors upon re-election, shares | shares     2,000  
Number of quarterly installments in which awards will vest | qtr     4  
Stock issued during period, shares | shares 8,000 8,000    
Stock granted, value $ 227,000 $ 138,000    
Weighted average grant date fair value, granted (in usd per share) | $ / shares $ 28.34 $ 17.26    
Number of shares vested | shares     4,000  
Unvested shares | shares     4,000  
Aggregate intrinsic value for all options outstanding     $ 91,000  
Stock Grant Plan For Non-Employee Directors [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Equity based compensation expense     $ 194,000 $ 133,000
XML 65 R52.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation (Schedule Of Stock Option Activity) (Details)
12 Months Ended
Dec. 31, 2020
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]  
Options Outstanding, Outstanding, Beginning of period, shares | shares 520,513
Options Outstanding, Granted, shares | shares 38,150
Options Outstanding, Exercised, shares | shares (139,563)
Options Outstanding, Outstanding, End of period, shares | shares 419,100
Options Outstanding, Exercisable, End of period, shares | shares 294,026
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]  
Weighted-Average Exercise Price Per Share, Outstanding, Beginning of period (in usd per share) | $ / shares $ 12.25
Weighted-Average Exercise Price Per Share, Granted (in usd per share) | $ / shares 28.32
Weighted-Average Exercise Price Per Share, Exercised (in usd per share) | $ / shares 7.71
Weighted-Average Exercise Price Per Share, Outstanding, End of period (in usd per share) | $ / shares 15.22
Weighted-Average Exercise Price Per Share, Exercisable, End of period (in usd per share) | $ / shares $ 13.01
XML 66 R53.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation (Schedule Of Stock Option Valuation Assumptions) (Details) - $ / shares
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Dividend yield 0.00% 0.00%
Weighted average fair value on grant date $ 14.58 $ 7.96
Minimum [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Risk-free interest rates 0.44% 1.67%
Expected life in years 5 years 1 month 13 days 5 years
Expected volatility 59.43% 54.38%
Maximum [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Risk-free interest rates 0.50% 1.69%
Expected life in years 5 years 6 months 18 days 5 years 4 months 24 days
Expected volatility 59.81% 54.87%
XML 67 R54.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation (Schedule Of Non-Vested Restricted Stock Activity) (Details)
12 Months Ended
Dec. 31, 2020
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]  
Shares, Non-vested at December 31, 2019 | shares 68,204
Shares, Granted | shares 30,700
Shares, Vested | shares (30,450)
Shares, Non-vested at December 31, 2020 | shares 68,454
Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]  
Weighted Average Grant Date Fair Value, Non-vested at December 31, 2019 (in usd per share) | $ / shares $ 17.39
Weighted Average Grant Date Fair Value, Granted (in usd per share) | $ / shares 28.33
Weighted Average Grant Date Fair Value, Vested (in usd per share) | $ / shares 19.29
Weighted Average Grant Date Fair Value, Non-vested at December 31, 2020 (in usd per share) | $ / shares $ 21.45
XML 68 R55.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation (Summary Of Pre-tax Equity Based Compensation Expense) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
SHARE-BASED COMPENSATION [Abstract]    
Pre-tax share-based compensation expense $ 1,181 $ 991
Income tax benefits related to share-based compensation $ 712 $ 211
XML 69 R56.htm IDEA: XBRL DOCUMENT v3.20.4
Net Income Per Share (Schedule Of Net Income Per Basic And Diluted Shares) (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2020
Dec. 31, 2019
NET INCOME PER SHARE [Abstract]                    
Net income $ 1,466 $ 1,799 $ 1,633 $ 844 $ 168 $ (353) $ 464 $ 495 $ 5,742 $ 774
Weighted Average Shares Outstanding, Basic, shares                 7,215 7,113
Weighted Average Shares Outstanding, Dilutive effect of common equivalent shares, shares                 239 149
Weighted Average Shares Outstanding, Dilutive, shares                 7,454 7,262
Per Share Amount, Basic (in usd per share) [1] $ 0.20 $ 0.25 $ 0.23 $ 0.12 $ 0.02 $ (0.05) $ 0.07 $ 0.07 $ 0.80 $ 0.11
Per Share Amount, Dilutive effect of common equivalent shares (in usd per share)                 (0.03) 0
Per Share Amount, Dilutive (in usd per share) [1] $ 0.20 $ 0.24 $ 0.22 $ 0.11 $ 0.02 $ (0.05) $ 0.06 $ 0.07 $ 0.77 $ 0.11
[1] The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely.
XML 70 R57.htm IDEA: XBRL DOCUMENT v3.20.4
Net Income Per Share (Narrative) (Details) - shares
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
NET INCOME PER SHARE [Abstract]    
Earnings per share, potentially dilutive shares (in shares) 57,000 291,000
XML 71 R58.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Schedule Of Inventory Components) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
OTHER FINANCIAL STATEMENT DATA [Abstract]    
Raw materials and purchased parts $ 11,903 $ 9,845
Work in process 2,459 1,837
Finished goods 4,208 2,373
Demonstration inventories, net 1,701 1,525
Total inventories $ 20,271 $ 15,580
XML 72 R59.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Schedule Of Equipment And Leasehold Improvements) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Property, Plant and Equipment [Line Items]    
Equipment and leasehold improvements, gross $ 18,142 $ 17,729
Accumulated depreciation and amortization (14,907) (14,388)
Equipment and leasehold improvements, net 3,235 3,341
Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Equipment and leasehold improvements, gross 15,070 14,742
Leasehold Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Equipment and leasehold improvements, gross $ 3,072 $ 2,987
XML 73 R60.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Narrative) (Details) - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Product Liability Contingency [Line Items]    
Demonstration inventory useful life (in months) 36 months  
Accumulated amortization for demonstration inventories $ 2,700,000 $ 2,400,000
Depreciation expense 1,700,000 $ 1,600,000
Amortization expense, 2021 160,000  
Amortization expense, 2022 106,000  
Amortization expense, 2023 57,000  
Amortization expense, 2024 $ 2,000  
Minimum [Member]    
Product Liability Contingency [Line Items]    
Warranty period (in years) 1 year  
Maximum [Member]    
Product Liability Contingency [Line Items]    
Warranty period (in years) 3 years  
XML 74 R61.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Schedule Of Intangible Assets) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 2,139 $ 3,205
Accumulated Amortization (1,814) (2,895)
Net 325 310
Patents [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 1,832 2,898
Accumulated Amortization (1,542) (2,662)
Net 290 236
Software [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 206 206
Accumulated Amortization (200) (170)
Net 6 36
Marketing Assets and Customer Relationships [Member]    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 101 101
Accumulated Amortization (72) (63)
Net $ 29 $ 38
XML 75 R62.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Schedule Of Amortization Expense For Intangible Assets) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Finite-Lived Intangible Assets [Line Items]    
Amortization of intangibles $ 191 $ 172
Patents [Member]    
Finite-Lived Intangible Assets [Line Items]    
Amortization of intangibles $ 153 134
Intangible assets acquired, Weighted Average Life (in years) 1 year 8 months 12 days  
Software [Member]    
Finite-Lived Intangible Assets [Line Items]    
Amortization of intangibles $ 29 29
Intangible assets acquired, Weighted Average Life (in years) 2 months 12 days  
Marketing Assets and Customer Relationships [Member]    
Finite-Lived Intangible Assets [Line Items]    
Amortization of intangibles $ 9 $ 9
Intangible assets acquired, Weighted Average Life (in years) 3 years 2 months 12 days  
XML 76 R63.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Schedule of Accrued Expenses) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
OTHER FINANCIAL STATEMENT DATA [Abstract]    
Wages and benefits $ 2,768 $ 1,319
Warranty liability 793 761
Income taxes payable 269 333
Other 63 159
Accrued expenses $ 3,893 $ 2,572
XML 77 R64.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Schedule of Other Liabilities) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
OTHER FINANCIAL STATEMENT DATA [Abstract]    
Deferred warranty revenue $ 88 $ 81
Warranty liability 46 37
Contract liabilities 0 84
Other liabilities $ 134 $ 202
XML 78 R65.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Schedule Of Changes In Estimated Warranty Liability) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Movement in Standard Product Warranty Accrual [Roll Forward]    
Balance at beginning of period $ 798 $ 789
Accrual for warranties 836 815
Warranty revision 43 186
Settlements made during the period (838) (992)
Balance at end of period 839 798
Current portion of estimated warranty liability (793) (761)
Long-term estimated warranty liability $ 46 $ 37
XML 79 R66.htm IDEA: XBRL DOCUMENT v3.20.4
Other Financial Statement Data (Schedule Of Changes In Deferred Warranty Revenue) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Movement in Extended Product Warranty Accrual [Roll Forward]    
Balance at beginning of period $ 275 $ 218
Revenue deferrals 434 488
Amortization of deferred revenue (365) (431)
Total deferred warranty revenue 344 275
Current portion of deferred warranty revenue (256) (194)
Long-term deferred warranty revenue $ 88 $ 81
XML 80 R67.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes (Schedule Of Income Before Income Taxes) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
INCOME TAXES [Abstract]    
Sources of income (loss) before income taxes: United States $ 4,876 $ (172)
Sources of income (loss) before income taxes: Foreign 1,478 1,332
Income before income taxes $ 6,354 $ 1,160
XML 81 R68.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes (Schedule Of Provision (Benefit) For Income Taxes) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Current:    
Federal $ 26 $ 0
State 19 30
Foreign 201 (37)
Total current 246 (7)
Deferred:    
Federal 361 338
State 0 1
Foreign 5 54
Total deferred 366 393
Total provision (benefit) for income taxes $ 612 $ 386
XML 82 R69.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes (Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate) (Details)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
INCOME TAXES [Abstract]    
Federal statutory rate (as a percent) 21.00% 21.00%
State income taxes, net of federal benefit (as a percent) 0.20% 2.10%
U.S. Subpart F income (as a percent) 0.60% 1.20%
Global Intangible Low-Taxed Income (GILTI)/Foreign Derived Intangible Income (as a percent) 2.10% 17.40%
Share-based compensation (as a percent) (7.40%) (0.20%)
Research and experimentation (R&D) credit (as a percent) (3.20%) (16.80%)
Foreign tax credit (as a percent) (2.20%) 0.00%
Foreign rate difference (as a percent) (1.10%) (6.00%)
Singapore jobs support program (1.30%) 0.00%
Unrecognized tax benefit (as a percent) 0.40% (16.60%)
Valuation allowance (as a percent) (4.20%) 10.50%
Expiring and unrecognized deferred tax attributes (as a percent) 3.70% 16.10%
Other, net (as a percent) 1.00% 4.60%
Effective tax rate (as a percent) 9.60% 33.30%
XML 83 R70.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes (Narrative) (Details) - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Income Tax [Line Items]    
Unrecognized tax benefits current $ 40,000  
Need for valuation allowance based on history of cumulative losses 3 years  
Increase (decrease) in valuation allowance $ (265,000) $ 122,000
Research & Development tax credits 4,000,000.0  
Cash payments for income taxes, net of refunds received 59,000 $ 46,000
Effective tax rate reconciliation, Excess tax expenses (benefits) from employee stock option exercises and vesting of restricted stock units and restricted shares, Amount $ (497,000)  
XML 84 R71.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes (Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits ("UTB")) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]    
Gross UTB balance at beginning of year $ 1,761 $ 2,542
Additions based on tax positions related to the current year 137 97
Additions for tax positions of prior years 60 18
Reductions for tax positions of prior years (169) (896)
Reductions due to lapse of applicable statute of limitations 0 0
Gross UTB balance at end of year 1,789 1,761
Net UTB balance at end of year $ 197 $ 160
XML 85 R72.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes (Schedule Of Deferred Tax Assets And Liabilities) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Assets    
Equipment, leaseholds and intangible amortization, net $ 176 $ 200
Operating lease liabilities 839 755
Inventory allowances 549 610
Accrued expenses 129 110
Warranty accrual 182 173
Deferred revenue 214 429
Federal and state tax credits 3,960 4,001
Federal and state net operating loss carry forwards 275 555
Share-based compensation 358 369
Other, net 113 114
Subtotal 6,795 7,316
Valuation allowance (1,414) (1,679)
Total deferred tax assets 5,381 5,637
Liabilities    
Equipment, leaseholds and intangible amortization, net 251 287
Right-of-use assets (operating leases) 478 340
Inventory allowances 5 0
Other, net 50 18
Subtotal 784 645
Total deferred tax liabilities $ 784 $ 645
XML 86 R73.htm IDEA: XBRL DOCUMENT v3.20.4
Operating Leases (Narrative) (Details)
12 Months Ended
Dec. 31, 2020
USD ($)
ft²
renewal_option
Dec. 31, 2019
USD ($)
Operating Leased Assets [Line Items]    
Weighted average remaining term for operating leases 4 years 10 months 6 days 6 years 1 month 9 days
Weighted average discount rate applied to operating leases 5.20% 5.70%
Cash paid for amounts included in the measurement of operating lease liabilities $ 975,000 $ 635,000
Incentives from landlord recorded as leasehold improvements   783,000
Increase in operating lease liabilities for right of use assets $ 941,000 $ 70,000
SINGAPORE    
Operating Leased Assets [Line Items]    
Mixed office and warehouse facility, square footage | ft² 19,805  
Golden Valley [Member]    
Operating Leased Assets [Line Items]    
Renewal options, term (in years) 3 years  
Golden Valley [Member] | MINNESOTA    
Operating Leased Assets [Line Items]    
Mixed office and warehouse facility, square footage | ft² 61,208  
Period for recognizing rental expense (in years) 91 months  
Renewal options, number | renewal_option 1  
XML 87 R74.htm IDEA: XBRL DOCUMENT v3.20.4
Operating Leases (Schedule of components of our costs for operating leases) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
OPERATING LEASES [Abstract]    
Operating lease cost $ 723 $ 718
Variable lease cost 272 269
Short-term lease cost 38 21
Total $ 1,033 $ 1,008
XML 88 R75.htm IDEA: XBRL DOCUMENT v3.20.4
Operating Leases (Schedule of the future maturities of lease liabilities) (Details)
$ in Thousands
Dec. 31, 2020
USD ($)
OPERATING LEASES [Abstract]  
2021 $ 1,011
2022 1,023
2023 878
2024 658
2025 674
2026 & Thereafter 403
Total lease payments 4,647
Less: amount representing interest 584
Present value of operating lease liabilities $ 4,063
XML 89 R76.htm IDEA: XBRL DOCUMENT v3.20.4
401(K) and Other Defined Contribution Plans (Details) - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Retirement Savings Plan Section 401k [Member]    
Defined Contribution Plan Disclosure [Line Items]    
Matching contributions to employees $ 303,000 $ 317,000
Defined Contribution Retirement Savings Plans [Member]    
Defined Contribution Plan Disclosure [Line Items]    
Matching contributions to employees $ 39,000 $ 32,000
XML 90 R77.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Concentrations, Significant Customers, and Geographic Areas (Summary Of Revenue By Product Line) (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2020
Dec. 31, 2019
Product Information [Line Items]                    
Revenues $ 16,872 $ 20,820 $ 15,996 $ 16,429 $ 16,852 $ 12,391 $ 15,044 $ 14,976 $ 70,117 $ 59,263
High Precision 3D and 2D Sensors [Member]                    
Product Information [Line Items]                    
Revenues                 17,522 12,579
Inspection and Metrology Systems [Member]                    
Product Information [Line Items]                    
Revenues                 37,547 32,713
Semiconductor Sensors [Member]                    
Product Information [Line Items]                    
Revenues                 $ 15,048 $ 13,971
XML 91 R78.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Concentrations, Significant Customers, and Geographic Areas (Narrative) (Details)
3 Months Ended 12 Months Ended
Dec. 31, 2020
USD ($)
Sep. 30, 2020
USD ($)
Jun. 30, 2020
USD ($)
Mar. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
customer
Sep. 30, 2019
USD ($)
Jun. 30, 2019
USD ($)
Mar. 31, 2019
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
customer
Revenue, Major Customer [Line Items]                    
Revenues $ 16,872,000 $ 20,820,000 $ 15,996,000 $ 16,429,000 $ 16,852,000 $ 12,391,000 $ 15,044,000 $ 14,976,000 $ 70,117,000 $ 59,263,000
Accounts receivable 14,735,000       $ 16,059,000       14,735,000 16,059,000
MRS based sensors [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 11,600,000 6,000,000.0
MRS based systems [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 $ 20,200,000 $ 17,900,000
Customer Concentration Risk [Member] | Revenues [Member]                    
Revenue, Major Customer [Line Items]                    
Number of customers | customer         0         0
Customer Concentration Risk [Member] | Revenues [Member] | Significant Customer A [Member]                    
Revenue, Major Customer [Line Items]                    
Percentage of Revenues                 14.00%  
Customer Concentration Risk [Member] | Revenues [Member] | Significant Customer B [Member]                    
Revenue, Major Customer [Line Items]                    
Percentage of Revenues                 13.00% 10.00%
Customer Concentration Risk [Member] | Export Revenues [Member]                    
Revenue, Major Customer [Line Items]                    
Percentage of Revenues                 80.00% 76.00%
Customer Concentration Risk [Member] | Export Revenues [Member] | Significant Customer A [Member]                    
Revenue, Major Customer [Line Items]                    
Percentage of Revenues                   10.00%
Customer Concentration Risk [Member] | Accounts Receivable [Member] | Significant Customer A [Member]                    
Revenue, Major Customer [Line Items]                    
Accounts receivable, net 2,100,000               $ 2,100,000  
Customer Concentration Risk [Member] | Accounts Receivable [Member] | Significant Customer B [Member]                    
Revenue, Major Customer [Line Items]                    
Accounts receivable, net 905,000               905,000  
Customer Concentration Risk [Member] | Accounts Receivable [Member] | Significant Customer C [Member]                    
Revenue, Major Customer [Line Items]                    
Accounts receivable, net $ 1,900,000               $ 1,900,000  
XML 92 R79.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Revenue By Geographic Area) (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2020
Dec. 31, 2019
Revenue, Major Customer [Line Items]                    
Revenues $ 16,872 $ 20,820 $ 15,996 $ 16,429 $ 16,852 $ 12,391 $ 15,044 $ 14,976 $ 70,117 $ 59,263
United States [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 14,134 14,459
Netherlands [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 2,237 1,658
Other Europe [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 7,017 8,009
China [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 18,903 11,553
Singapore [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 3,797 4,120
South Korea [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 6,376 4,678
Japan [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 3,172 3,630
Other Asia [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 11,702 8,496
Other [Member]                    
Revenue, Major Customer [Line Items]                    
Revenues                 $ 2,779 $ 2,660
XML 93 R80.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total long-lived assets $ 3,560 $ 3,651
United States [Member]    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total long-lived assets 2,814 3,256
Europe [Member]    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total long-lived assets 6 0
Asia And Other [Member]    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Total long-lived assets $ 740 $ 395
XML 94 R81.htm IDEA: XBRL DOCUMENT v3.20.4
Share Repurchases (Narrative) (Details) - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Jul. 31, 2019
SHARE REPURCHASES [Abstract]      
Authorized share repurchase amount     $ 3,000,000.0
Repurchase of common stock $ 0 $ 353,000  
Repurchase of common stock, shares   25,985  
XML 95 R82.htm IDEA: XBRL DOCUMENT v3.20.4
Quarterly Financial Information (Unaudited) (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2020
Dec. 31, 2019
QUARTERLY FINANCIAL INFORMATION (UNAUDITED) [Abstract]                    
Revenues $ 16,872 $ 20,820 $ 15,996 $ 16,429 $ 16,852 $ 12,391 $ 15,044 $ 14,976 $ 70,117 $ 59,263
Gross margin 7,925 8,695 7,314 7,283 7,181 5,506 6,589 7,026 31,217 26,302
Income (loss) from operations 1,585 2,210 1,473 729 544 (757) 579 570 5,997 936
Net income (loss) $ 1,466 $ 1,799 $ 1,633 $ 844 $ 168 $ (353) $ 464 $ 495 $ 5,742 $ 774
Net income (loss) per share - Basic (in usd per share) [1] $ 0.20 $ 0.25 $ 0.23 $ 0.12 $ 0.02 $ (0.05) $ 0.07 $ 0.07 $ 0.80 $ 0.11
Net income (loss) per share - Diluted (in usd per share) [1] $ 0.20 $ 0.24 $ 0.22 $ 0.11 $ 0.02 $ (0.05) $ 0.06 $ 0.07 $ 0.77 $ 0.11
[1] The summation of quarterly per share amounts may not equal the calculation for the full year, as each quarterly calculation is performed discretely.
EXCEL 96 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( )-;;%('04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " "36VQ2K";".^T K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)OITE!)'1[6?&D(+B@> O)[&ZP:4(RTN[;F\;=+J(/X#$S?[[Y M!J;306H?\3GZ@)$LIIO9#6.2.FS8D2A(@*2/Z%2J*-7?/B,0X$9#3B@PY$2\)H#ZY>) MX30/'5P!"XPPNO1=0+,22_5/;.D .R?G9-?4-$WUU)9M$(7C5MQ<6.&PO=&AE M;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0>&?V;0O&-H&VM!-S:7;;M)F$[4X? MA1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$+.G[SD5'Y^@X>?/N+F+HAHB4\GA@ MV2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>M5II ,,X?+&A T%116F]?(+3E'S/X%/F7/Z3H=,H%N,!M8('_.;Z?D3EJ(X53"Q,!J9S]6:\?1 MTDB @LE]E 6Z2?:CTQ4(,@T[.IU8SG9\]L3MGXS*VG0T;1K@X_%X.+;+THMP M' 3@4;N>PIWT;+^D00FTHVG09-CVVJZ1IJJ-4T_3]WW?ZYMHG J-6T_3:W?= MTXZ)QJW0> V^\4^'PZZ)QJO0=.MI)B?]KFNDZ19H0D;CZWH2%;7E0-,@ %AP M=M;,T@.67BGZ=90:V1V[W4%<\%CN.8D1_L;%!-9ITAF6-$9RG9 %#@ WQ-%, M4'RO0;:*X,*2TER0UL\IM5 :")K(@?5'@B'%W*_]]9>[R:0S>IU].LYKE']I MJP&G[;N;SY/\<^CDGZ>3UTU"SG"\+ GQ^R-;88C'(CN]WV6'WV3T=N(]>IP+,BUY1&)$6?R"VZ MY!$XM4D-,A,_")V&F&I0' *D"3&6H8;XM,:L$> 3?;>^",C?C8CWJV^:/5>A M6$G:A/@01AKBG'/F<]%L^P>E1M'V5;SC MFED)O816:I^JAS0^J!XR"@7QN1X^Y7IX"C>6QKQ0KH)[ ?_1VC?"J_B"P#E_ M+GW/I>^Y]#VATK\>WZV22$KYI9+2,6D$N!LT$DN/R+RO JQ GH9%LE" M0AMNZ5/U2I77Y:^Y*+@\6^3IKZ%T/BS/^3Q?Y[3-"S-#MW)+ZK:4OK4F.$KT ML@'37[]EUVY".E,%.70[@:0KX#;;J=W#HXGIB1N0K3 M4I!OP_GIQ7@:XCG9!+E]F%=MY]C1T?OGP5&PH^\\EAW'B/*B(>ZAAIC/PT.' M>7M?F&>5QE T%&ULK"0L1K=@N-?Q+!3@9& MH >#KU$"\E)58#%;Q@,KD*)\ M3(Q%Z'#GEUQ?X]&2X]NF9;5NKREW&6TB4CG":9@39ZO*WF6QP54=SU5;\K"^ M:CVT%4[/_EFMR)\,$4X6"Q)(8Y07IDJB\QE3ON>;G*YZ(G;ZEW?! M8/+]<,E'#^4[YU_T74.N?O;=X_INDSM(3)QYQ1$!=$4"(Y4U#VT%SU&\Z.9X!ZSAW.;>KC"1:S_6-8>^3+?.7#;.MX#7N83 M+$.D?L%]BHJ $:MBOKJO3_DEG#NT>_&!()O\UMND]MW@#'S4JUJE9"L1/TL' M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5 MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$% @ MDUML4C69?NRW!0 /!@ !@ !X;"]W;W)K?7X2'IUK P.0CZK'>>:O$9AK&Y:.ZWW'SH=Y>UXQ-2E MV/,8[FR$C)B&4[GMJ+WDS$^#HK!#+:O7B5@0MX:#]-I"#@2@.-RV[=;RP#+8[;2YTAH,]V_(5UU_W"PEGG4+%#R(>JT#$1/+-36MD M?Y@X/1.0/O$MX =U#8G,_^F91DB'G)/&PD&?U[XF(>A40*.?W+1 M5M&F"3P]/JI/TY>'EUDSQ<G?3NFH1GV]8$NJE.'SB^0NY1L\3H4I_ MDT/V;+?;(EZBM(CR8""(@CC[RU[S1)P$T/Z9 )H'T)\"[',M.'F TS2@FP=T MT\QDKY+F8<(T&PZD.!!IG@8U%N '%Z.!%> MVHR2CV MR5VL _U&9G$VGDR_M,G7U82\^^W]H*.A.1/4\7+IVTR:GI&V*;D7L=XIT/6Y M_Z- !S@+6'J$O:6HXH1[E\2Q+PBUJ%4!-,;#IWQ]2>A5&FY7A$_P\-^3&%JW MJEK_X6V<(O5.JN?\S]3_-5HK+6%B_(TTUBT:ZZ:-=>L:>WS;\ZJ^Q,-MJ_T9 MH7 +"A>5&0&"GV),0[:MPL#C-RQ4'.'H%1R]9ME8& ME$E(UPSL[Y5\YF^5'HI+6?#3[UUU;1LC.W%[&W_=1,J?.Q(;_#5R[;9-VPZ* M1DLTVB1ITR#DDHR!9RMD=<9PG;F(V\SSH+*0(.)G@AAAZ=>V@RK/QM,E&25^ MH(4D(ZVYTIE3GS.S&KTZ-[-+<[=Q>SX..!%%@+/2PGN^(*L=DUR1AT0#9^P' M<17C.%=V4V53);X,^_2Z?]7K#SHO55"EU]NX61^A\B&WY'LA-5 ']/5UE&C M^,05EJ[2_6WRXYI/@.EHFV'2CI;_31OY^%W&Y-0/Z(RCHG9E^ M>Q97>E:-8)T3T-+@*>[(QUSM8&"A0+A,+5!IZ[2QK9-Y$JVK1W:-B-6V>VZ_ MCP&5+DYQURTJ;4](<*34P2]23^($?'TL8-1+XZ5^Y8I8HWX_QR!+0Z>-#/V1 MO9*9#^X9; (O6VN0'.*27;MM=_O4PWDI47.Y^-I_? MC18/7V8K#*]<#FBCY:# *X;C0HJ7(/:JTXEKXD.Q7 YHH^6@0%L(*"="\F>P M/S]'<$77[=H]C*U<&6A-]9Z22<[.H^ "[_H]YSV"XI1K@H-;^!>1?JSM8 E' MYFB-B-NE;12VN%EOCHW1#N%,^GNVKWS-302H2\@V$6I=]2)3,MJJS$RWVZ>;M6F@M MHO1PQYG/I7D [F^$T,<3TT#Q#X/AOU!+ P04 " "36VQ2WE3K87H& !; M&@ & 'AL+W=OCE93KH\E$I"M64O&)KUD%3Y:\+JF$V_I^(M8U MHUG;J"PFQ//"24GS:C0[;G^[KF?'O)%%7K'K&HFF+&G]XXP5_/%DA$?//]SD M]RNI?IC,CM?TGBV8_+:^KN%NLO.2Y26K1,XK5+/ER>@4'\W]0#5H+?[*V:/8 MNT8JE#O.']3-978R\I0B5K!4*A<4_FS8G!6%\@0ZOF^=CG;O5 WWKY^]_]H& M#\'<4<'FO/@[S^3J9!2/4,:6M"GD#7_\S+8!M0)37HCV?_2XM?5&*&V$Y.6V M,2@H\ZK[2Y^VB=AK@*>6!F3;@+RU@;]MX+>!=LK:L,ZII+/CFC^B6EF#-W71 MYJ9M#='DE>K&A:SA:0[MY&S.*\&+/*.29>B,%K1*&5HH=P(=HF^+<_3AX",Z M0'F%;E>\$;3*Q/%$PIM5^TFZ?J)SN5$Z=*K_0^H%)>E730&S?]N +]&![Q%$)8)1PLH[5N\&6MLS!SXQ/1V.HRX!@18; MGD9^,,B P2KT@L2<@G"7@M"9@LMJ P.'UY:N";5W0H31L&]T*QP$L6=6%NV4 M14YEUS5;TSQ#[ G8(Q1?(>M+!3\@6LM.NRS2E,\8(! MQU>\R%!>KFN^8>H)1% Q:=2.-5$^T2:YR\Z(PRO+USO3#X2Q_S>JEL!YAV,VPMKX\Y,O# M1K#M1$(?H)BMJZYA-]AN:YHQ5'')!FQS M3BX=,%,<#P7K1DE(+'I["&$WA<[9DL%BE2%)GQSK%=9!,PV2:"C18)4D-HT] MCK";1]VBZA"G@R9*(JP-5(,9"1+;+ MVZ_SWS]_O3J_N%G\_%-,$P6[$[$JG-?VAQI8Q(P:^ M8'U$Z5:11WQS/DB/%^+&RVFV:>NW;C,#N :AI:U&)CHPXCT)G5"#T=36;Z1G M"G$S!1)9-\Q=YA #%.)$TZ=;D2"RC'NRMVEQHV.^+2,&JQXJ1K&G5* M8'\Z5&A B6?3UY.$N$ER]4R,=_>_#@J?3#71!BML*W=(SQ/BYLD-$ZS>=)NW MO$IA_BNR6(2:=B]#IAB-+&4/Z9%"WH*4UQ*I P,R% ^74:,9B2P[9-)SA;CW M.G->EKEL5\[NR(%7:A"P*K7I=?I3YX-'8DU3=C):UUTWC6;(=#CS/SAZ&7,/ M-Y(X6;J0/'U0E3VKQ3,[U2F+_''D.KWIV>2[V01;VVV](]2;H"+G@*<:;6C1 M0)46C#W/4_^06%$(#=%&KF"+_B_+E&G%$&^D@((^@XXP'OGHI!IN.YTF+\/J M4>:[4::&"J_,,1%G4-&8)--QB*/GA[D0"HIJP.W%:C]NB<8XF(Z#!+_;@?E$ MQC<0-XKQ<%DPF86A[7C![YGKNYD+14%3-D5[.LJ[PP8.>TRV4@?9L*X57)C/ M^G2>'F)]1V\TFWJ6W9*_=RSI!N\-[.?A)RAF:%U!NLT:=9*2.,9#X)K,?"^R MH,'O@>N[@=NMN<(ZPXV2=;2&04"&2[#!+(@!>A;)/8/]5W9S0TRTP_J=(03: M":]I=V(R,^Q.)GLG_^JSRQ=:W^>5@,I@">V\3Q&XJ;LO&=V-Y.OV8\ =EU"- MMYKV1GU?V'U/FOT'4$L#!!0 ( )-;;%)+^K<&& , M #<* 8 >&PO=V]R:W-H965T&ULI59=3]LP%/TK5K0' MD!CYZ#=J*_6#"20&%87M8=J#F]PV%DZ?F MVG%W)>2#B@$T>4QXJGI.K'5VYKHJC"&AZE1DD.*3N9 )U3B5"U=E$FAD00EW M \]KN@EEJ=/OVGL3V>^*7'.6PD02E2<)E7^'P,6JY_C.TXU;MHBUN>'VNQE= MP!3T?3:1.'-+EH@ED"HF4B)AWG,&_MG(]PS 1OQ@L%(;8V*LS(1X,)/+J.=X M1A%P"+6AH'A9P@@X-TRHX\^:U"ES&N#F^(G]FS6/9F94P4CPGRS2<<]I.R2" M.XU1+?,H0I_LCD2K! M640U1&1(.4U#(%-#I\C1A$I(=0R:A90?DZ_D?CHF1U^.R1?"4G(7BUS1-%)= M5Z,2P^>&ZZS#(FOP1M8QA*>DYI^0P N\"OAH;[C?V8:[Z+\L0E 6(;!\M;>* M<',]O;FZ' _NSL=D.+@:7(_.R?3B_/QN2GX-9DI+[+;?.Q+5RD0UFZC^1J)! M&(H\Q=)*"($MZ8S#":$X1 M,?;-<97NG?1FQSI3&0VAY^"6I$ NP>F3JO;X/,^6_T;IOW&8?^M4$9KK6$CV M#Z*G6U7F"^[&Q@MI>/;WXL6]'[^* MV%+<*A6W=BH>B23!G?Z#O;:3^X!>^SS/EOEV:;Y]@/F#&JW]ZD4$U9VV1^"6 M]DZIO7.X=J94OEMWYY6<5M"I-_W6"]D5<7ZCWNCXU:I][_E;Z!VN>\_UL:9^ M7WU58*5\=^.K;HY4WZEJ&PO=V]R:W-H965T&ULE9AM;Z,X$(#_BI5;G7:E7,&\)GMI MI#;IWE6Z-E63O?VPV@\N. $MX*QMDO;?WQ@(I&!H[TL ,V,_,\;SDMF1\9\B MHE2BYS3)Q.4HDG+_V3!$$-&4B NVIQF\V3*>$@F/?&>(/:C^:P8>^#S&'/2SQ5"H7$OS$]BK-[I$QY8NRG>K@-+T>F M(J()#:2:@L#E0!!:M2 ML%H*V.M1L"L%NZW@]"@XE8)3>*8TI?##DD@RGW%V1%Q)PVSJIG!FH0WFQYG: M][7D\#8&/3E?L$RP) Z)I"%:2[C IDJ!5ENTVE-.U.8(] ?ZNEZBCQ\^(1$1 M3@6*,[2)6"Y(%HHQ^O#J>69( %/3&T$%L2@AK!X(;*$[ELE(H)LLI.'K"0RP MJ#;+.IFUL 9G7-+@ MEXC"S3,C5 RW>KX^D CEU[V2[FL_N\O+I?K_ZY75YM M;I9HO8'+W;Q:G,+ NC[U9.0'$["CX$EG7I)IUC2Z5GRD1YH MEE/M;I2:7J&I L-A[IL8^S/C<.ZBKI0[M3R[EGJ%Y=98[B#6@@F)V!9"1C]> M.8-[MK ]F9IF"T\C94T]K,?S:CQO$.\OSH2 \\5W<:9#\[J+8JOCN:X4^,VT M]&A^C>:_L:&"$AY$",X81+8#A.R].JN(/D,2$'I7^AV2J>M;+5R-D.WUT$YJ MVLD@[1HB>9SMQFA',P@C24%-0HA@L?K&5; ?!)]TF+#K.9,6N4;*,TU'CSZM MT:>#Z+=9P%**MIREB-4Q4 ZGZ[99-4*6U>-.?)9B\'L<^D2A3*$G8DF>]3M?37;. MX-FNTR;M2F'8^QY4JT&UWH,*<&C/V2%6Y8T6TNI"XO:YT@C9D[ZM;U()M@<1 M[^EIU[5@=C=J^TZ'K"OE^WW[W&03F@]1B_C)%%LIO]VKM_0VD2T; 6+Y@SJM5\YX9!RDI>SKYRD+%>]0DI> M4,:@$ &A!$$60@%)@CPIE2'H%V/;/$G0"Y0P8T0$H@0JF6;2EWT9JWQA>I>->-7>/)Y M ?[OO@$7PINBX36:I-_FL# !)"@ M& 'AL+W=OW;W@2 M\KM*"='H-6-"!.GD>,[YX%GNDNU&7#'PSW>D171 M+_LG"3VWC)+0C'!%!4>2;$?.O7\W\0/C8"V^4G)2%__(4-D(\=UTYLG(\0PB MPDBL30@,S9%,"&,F$N#XNPCJE#F-X^7_.?HG2Q[(;+ B$\'^H(E.1T[?00G9 MX@/3S^+TF12$.B9>+)BR7W3*;7NA@^*#TB(KG %!1GG>XM="B L'O]O@$!0. M0=4A:G ("X?0$LV165I3K/%X*,4)26,-TQR BZ02^K*?KMP^_H Z(X-4 FORRNS]H@1.6TH8V7M@D[7*Q6GZ93^_7LRE:K:%YG"W6*[3\ MA";+QZ?GV>?98C7_.D/S!?1GZ-O]1FD)^_K/EN11F3RRR:.&Y NX :A=LKJ5 MR7V[UM<<]..XTXN"H7N\5.O:J->+2IMWJ#HEJDZK)$N=$HGB=QLK1_D1;0A< M2@1I_'K7PK];9NJV\H8PQ&2DO#X!P)EN6(XOSN2O^!DV8U>ITX>N7-! MW!]X%7%J;)K$Z960>ZWBO'"XAQG]!P[B#NY?A0S2(Z8,;QBY 7%N%&8$*0*< MJ*9$M>G4+Y/V6W7ZSTGK!.M?BQ%U*H+5V(3]>L$&)?9!*_:UT)@AT;BGSENJ MZ,'.JH<_N((6AE7X-39^4 _?]][N7J^5P+P$AO92'*EY&VLO4J\F>P5@C4W0 MH*]_\3CX_T]AO-4P]3.!BRSO\'M1E<"U4=!O.%)^\,8@^ 4&==AK@097=U[7 MB[I5I-=6OM>IBNU>/,H9D3M;JRB NK=50&7\P=1)]K%_"Y,7 M68]8[LR9960+(;W;'H@G\[HE[VBQMT__1F@H).QO"K4>D<8 YK="Z'/')"BK MQ_&_4$L#!!0 ( )-;;%("J$"$0@< *H= 8 >&PO=V]R:W-H965T M&ULK9EA4^,X$H;_BBIW=055FTDLQ8DS!U1E,K!+U0U09&;V ML[ 5HAO;REI*@/WUUY*-'7!+0-5](8YIR6^WI'ZZXY,'5?W2&R$,>2SR4I\. M-L9L/X]&.MV(@NM/:BM*^,]:504W\+6Z'^EM)7CF!A7YB(['TU'!93DX.W'W M;JJS$[4SN2S%347TKBAX]?1%Y.KA=! -GF__A"-0[&=+U6Y=G_)0V,['I!TIXTJFL&@H)!E_R%BXT;#=[(TB[CRE3P7PGC MS-E2E5KE,N-&9&1EX /6R&ARO29+KC?D M99DR'YL?I*COYY?#(R\% [=)0V M#_A2/X!Z'A!1\DV59J/)>9F)[.4$(U#;2J;/DK_0X(Q?1?J)L.@W0L=TC A: MOGMX- _(86T$F9N/^2*X6/U!+OYS_>>*7-Q>?R/7-^>WB^^75[^3Q?+[Y<_+ M[Y?GJ\^!YTS:YTS<YUS!F99EJ@J!+4(]=NK&VJ.[/XMG$SC+$*#]86SZ M=K/9Y-#LA;:XU18'8[#(_@M;M=XY1L'Q3E69RER0LA5M[]MOJ=U5VTKM)>P& MJ,O)O=P,+83U= M?! :.J7S?@@1NX11;PQGK=Y9>'U5.73!Z0*2"TA01#Q"SM;HJL]Z4F(:]17W MS1*:> 4GK> D*/CH%I9Y+ZJGXWH]768'L)!,[>[,>I?#@J9J!WL"DY[T- UM M#%]+[YOYA<];X?,W=L9:5!7L/L,?!2INWGLJFT[[XA"S.?/*B\9=3AX'!0*@ M #\EY'^06:9/Q%2\U+P&W]$]P%D?DUQIC:MO9G\1V_FL+Q^QB^C,K_^ *5%0 M_VK#*S&T=,T(G'V[?;VGKIGJA8@H038Q8CB?1WZUM%-+@VI_E%#_Y/)O$&MC M2FRZV'.9\SM(8'8_:PX7XJ^=-$]$"U@4N$!=H7U7$L01Q,R?/J*.0Q$+^O$[ M[ LKWLE5:Z=X:W,RJI7U1/1T]DV&=.H7VH$LFH2)N>'EO=#$RNV2/^QFH(=- MU+GD=S)_$P111Z0A-SNUZFHND%(*8@N"ZTVC"CVOMLHA., 7V[X<2OFW8,HV&&08"KG>AV M!2:2(@!B6 &#& Z3V)^+:(8RD-,20AHH#VF&*?JQ?NKSZ>;[Z0+]$.\[0<,=T4ZE4 MB$R3=:4*:)J-)3<$QL*Q)?P0"#]TR"QX]4L81_V&\KX@3I"2)9XA!2)B.4M8 M[(]BAS0:1MK-KDHW7/\?G,'8Q:($\P8SI6/F+WEIQSD:YMS+M7I7"4/[1.LI M[ILD_FZ7=LBC8>0MLDS:@M9UNZW(NGBQ:62C\HS(PI[0^O<45'^?;18:2))& M+=G87_S2CH/T#0X>>K+EQBL6Z]>P.@,SC&)_*40[$M(P"=O$M[-]!12/$FHC M_9ZDAS".,:S.H_L*SC(1M_*.U=7%XMKI;O3WNL0QH+(^WE41*/HDJE M=L<)*HCT%[#"+3@6*=:G%L/H@-C1B1]NK(,;"\/M.W_L"IQ*Y.YG2=B9VG:4 MFCQ(L]D(.%NN+?-TF62;NJ"92!T"PT'3:LDW/3@LE=6%;M :Z>+,^0 M)A%U"&L[_0YU7&5O_ 9:_UQ?YB']"^GCW['U!+ P04 " "36VQ2XK$^-UT& M #)'P & 'AL+W=OBX^3OEY1DW4C1WC9I7ZR+ M9\@SH^&<0VFZ9^FW;$,I!P]QE&3G@PWGV]>C4>9O:$RR5VQ+$_'/FJ4QX>(R MO1MEVY22('>*HQ&R+&<4DS 9S*;YO64ZF[(=C\*$+E.0[>*8I(]O:,3VYP,X M.-RX">\V7-X8S:9;-[.>B@FE,Z-L\/ MH[_-@Q?!W)*,SEGT=QCPS?G &X" KLDNXC=L?T7+@&PYGL^B+/\%^]+6&@!_ MEW$6E\X"01PFQ9$\E(EH.$#!UPZX(X#0CT.X])AW''HC<$N M'>R.P]CI<7!*!^?4&=S2P>W&X/8X>*6#=^H,D])ADI=#\?SRA[\@G,RF*=N# M5%J+T>1)7D&YMWCF82*+?<53\6\H_/ALSI*,16% . W BHN#J&2>@4]K<<7\ M;QL6!33-_@27WW FR#4EI!L($?-ZP74:2(#L#?[2NIR,N M(,J)1GX)YTT!!_7 ^?LS@6D^<),PUS M^0/#/'=H;\V8Q-"[>!?EY?&);V@*!$K15C>RW]U3\)YEF6GX=T\X_'.GXNI8 MD7%!'@+H)4D3,8$Q[NL?'>L9@QR)WE U"%0U")0C'?<@?7/Q_N+C_!(0#A;4 M?P4P/ /(@IYN;1S\AV$4QHMU X4(+ZG'8%0X[]\(].*X37VBWC((78OK\ M[*6L?"TG?;UA402$]MF3-##5O%--[AB3Q5VNR3D@@83H5*E;Y%#^N#G2S< ) -;\BB7J&[Y.$H> MT=CK+!Y'+?BNS94ZCJ5_&&Z5#_=WY^-0<+KZ#A-G M G3!/YP= .Y#OMG0* !B,U'<&TI!'0!?D)-@)I+K]&U$$JW$\12\0Z?3WA:> MVMX:-JV@)E50DU\4E.EA3-3@>MHMM&H-:AF1K^1L(,RR'4E\ 54B#,)4[(?$ M21.>5E!:AG(OU9MEZ*1MS W=#)\&LRF9Y1Q-[#V5#6N^AF;"7O4\6FWND#+_ M9-+E:ZB2;-.H#;/F6&@FV>LR<[(O^(7P/;0,T=S!9;R-V".EI1I>[E+1,T0' M6HKZU$:"U>9IX6XD*E\VC=J1U(P)S93Y$Y$8:T.E5=A7'#6K0MN(]89N#_-W MT&J3:JN+'=M*5FVUES6MVE!K#H9F$NZ'>@96_5E3R6^(G!XL-?]!,P$66Q._ MM341NIO%M.(V3AZT*53)"WGCCM8]8M0&77,<-)/<1P&L *D%IK*4ZW: 71TQ M:@.K>0J:B:IG2S'1PE3YQO8P&G=K<*(J8<>Q)]U$:]@+CBVG&[9JAK#E]O0\ M5/,<,O/<$7&M2\ "J?3F0MON@5+3%X*_7E^CQJ;23%*_26$CE>^PW9782+=! M[6ILS4@]D@+5E(C,E/B;9392*13BOD*KV1&9V?%YI39227+H6';WB8XU:MOJ M"ZTF4V0FTU\CN)&&A%$/NZ*:79&977]*5*@9J=3< M-&J_H:NI%)NI])E$-U;9%O74+:ZY%INWBC^N'K&Z/\165ST>,6J#KAD:FQG: MK!ZQ2G^V.T8=DCQFU8;6>#U[VOO9MGR2STD#5-WR.;:-NIRO,<.N![LOI35F M0P@M)6[-/M/S8$_3QC67XI]Y.:M-P )KWLZB29?[1HTOB/(C]P>2WH5">$1T M+=RL5Z[P3XOOQL4%9]O\H^(MXYS%^>F&$K'TI('X?\T8/US([Y35U_O9?U!+ M P04 " "36VQ2G5;9FVP; !3P & 'AL+W=O3X#MQ= \;.Q#J922 M64)RWKI\>'AS\^79:V M>?CF-7]WU;YY[?JNMHVY:@O?+Y=ENWEK:K?^^>'1P_#%)SM?=/3%TS>O5^7< M7)ONR^JJQ5]/XRI3NS2-MZXI6C/[^>')T3_?/J?Q/.!7:]8^^US022;.?:,_ MSJ<_/SPD@DQMJHY6*/'/C3DU=4T+@8S?=,V'<4N:F'\.J[_GL^,LD]*;4U=_ MM=-N\?/#EP^+J9F5?=U]'VB]RM6>_U^L9>R/&%SUOG-+G0P*EK:1 M?\OORH=LPLO#/1..=<(QTRT;,95G95>^>=VZ=='2:*Q&'_BH/!O$V88NY;IK M\=1B7O?F;>_QC??%F?%5:U?,JI-F6ES;>6-GMBJ;KCBI*MGHN/CHFF[ABW?-U$R'"SP%V9'VXT#[V^,[5SPS MU;AX=C0JC@^/#^]8[UGDQ3->[]D^7GRY/K]X=WU=G+V[/OUT?O7Y_/*B.+DX M*Z[/?[DX?W]^>G+QN3@Y/;W\YN/S\KC@J_OX?+X^/CEX5?_GPN>"X61$%ZJLI MRA;_%35L!8G.O':3LH;*W, 4K$Q;E!"S9=GT,W"N;_$%IB^@107,2V59[9^= M%1X6P+6>1_N-[\S2%S!&A6W\*J@V+62ZUM5NOAGSSK5W8:?M?0K7M\77D/TK&T+"^+Q[9IF'/A%N3+32%2W*#N: M>6.G!B24'NO#9'6>YH(M'12H+FAC&FT;3#"8O+25:V@WG&-63EJ,XH-@I0J; MC8M+D'C[X)%&YFSO00B6Q)[8 -N3CA:=J18-,Z)X?/WQ\Q.9/M@1UO>;P2*= M*WS20HHJCW7;E6O+>+460]8+5]>; M [=NB/O]Q-NI+5L8HG%QSES%13:N,WRJ[CZDC'16Y9:KLL%*S%384W88D)P- M.1W3MIB/-4O/JG)\^"HC=<1?07OTT=IL?].G,>"\?@D!'(=O3^HZOP4PJ(.8 M"5&;Q"+B TQ,XTL6>5\L2ES4Q)BF,+6%8^!S0AJJ_%+&Q;69TVF+3P8L90L. M[2#MPW@:7F+S9EX;G)4&E).:Y%/FL'#KA7EF*OX%J:.@63SJEG;=4F(29&PR MVJNR!2CNY5BDV;031'>_Y(Z++YXW>N<["\\,ZDCZL..J5+DA];N',-(@0C:0 M;JAZMRCFI@%O(&K$>K.BJ67R?JLD_ZWYK8=M\'1VH!=AF,-?WTQA(EETA-(# M\:SD>,S2.-WGAMRXFM845TJ:GU5>V\LAFT$U5\"7OF MR"[$ IIP+[T04=M#6XN+;WJEQGQ?D0'UQ;1OB3MI$O/*M-9-QP /78\-P"H M)8_]^YH. AZT6^9GUKHE%G$^X^"X."W]@K?C#^_ ]9NR9D*_RFE@>N%+H$8D M=EBFMAA#NG"#5>1(J[ZM%B792[[D$O+1VCD.7^/"(+5T_3C=3X=@U<:3II+- MI_N<8 _:UZ1],Y*V'PD]OJ/%9GTS)>F 0N,_4U>P3;W9B- MBG?V=67 2^*/W)_.HP=J(DDE)Z2DP!]]NKXOX^MQ,8O''8? X!I"8<@10GR P(F^O)U+K$1VQP:\@NSDARAF]N2EO3L -HY8$'04)B8NOVT5C#H /5 M9LB M@H%BZAT4#.P]QQTX& ^T;9)95NR@BE4GAX:JSW.;J-J5EVS*9 M'? (=H H] 9FMD&@5]O?\60.(58#XSPI_2S:8SXZ6D3#T6(TPX-30);$"$[*=%[_UCHZDNHJ!E4@&S=8+4$"(:R2MP7PR-,D> MJ.T#'K_74E\)RC:V4R00S\;70^L3?K]#\A@[*6H3?4DB3=]%,L!^@P$M M^P/Z< #WW$ IEV096L;#F,E7!N]1N I[M"2)[Q70!_<3K+LL3,3&I9F9Q(+= M.V1P&,9W#N=$?AI&5]6Z4URQ7MAJD1^$"&+X)YX*RZH5\62Y8"UAXD 7O,QO M<+^D#+0@L4[@@?Q-:%,V(!7D%3(Y);$IU9%'NGP_FU$*0*;!$2"\Y8$$5W&1 MP$=LPDC98*7IC$%9U*J< ^. 615%I/0T.]4?WRXXF.A=K!W1K687"/_? MSLD$U$P=RP:L79+"=&SKF?AV>MM.1*>YVZ$M$#>1;(,?!M!F$*A@RPZ6=UH\ M^O'%\>CP\)",+2WUJ'AV_(*_&#\X!Q4-1(O&YY])$QFB30.F ]LE8A:M:YE, MT66FBODY$KS#0VX9,EIE9EO?'5A >OGD^JYX_/[\_>430N<+QF\K&!N8.;'< M(N^"L<&G.0*E)BJ5U:AM!*,&S3>^@E\V(Y$\5HLD)NES M6T)-+CC"^V0J [!"0V$K6$=PIH;O :=3L0=1)$J20S,I^FXHF5<3#FTEB)AH MQH(MCP@[1>VP_2&P5YA,/'/9@B%6">B2%KO^KV=TDQ^!=>W!^[Z1:&#4<,X'71,I!!(#@GA:P=]($1O<14=-PNHWT'@@NW MEAU+.4^/.*RE;8<(AZ)X/;6H&@07L!&Z32$/QSD]84^U,]UN]@FX3SJ-]4Q[ MP]$$GEML!86&3V45K^TWXA=;@77:KV]X*;IH205P:!'\ZK278PB\TE1#C"5( MP?P.-L%AB*AXLX?TD:#PD'T LYD>5DJB"G=AJ38';K+( &4 M07G )5Y2]A!+1@C>1P*S\=DJD!6)(P)#,M!4^B2+/W7H%O#[A(!ARQK@3MJH)%9=NJ7](I.%X1;\HX M"*;7:]RU0.3@6D93X7#@3U><@=KE!*N$%/*(*(P^:)^,@3Y)G/SYXXPIV^/6 M+/NGW2SOMYOZN)XL3;3,"'EA5J3QY@T*,3.$1M+Z!UU79Q\0 %ZVF35 M0A)#$QS3C&GGY,F_!=\1'$J9&XBP7QQG4-1RL M.7"S&<&:'8+ ;IVP]\*NA(OJ!=:P70M)2&L@"9_4M0K4.4G+XUKKOXV+ZVTB M0MYMER00ZXDNN!^BK*"E&=CD;+&4 F" IWY;5Z8'\ ZJ[UANS*F-E%+[8"#Z M#,K.)2LK6CD<5,=!-A\T1 OD_<>#>DXYQ9&% >UPICA3UB".@6N8CA AKFPG MD<*(T*BD#(&NO.(AAI)\VSRT.&(@*WA$? M24^3&O7>D-P*+U3.3;B'T="1D@'QE"0K-O#ET)D/^Z\(3@6.]?<_01.G$ 3V ML2SQ'47R9N2*^$'?0*5J]K,L(NR9=E#*-42;/42QJ]@2<\W 8@6-4&6IR M]U%<-K>]":O%\>'13_(7?[HJ.^9$^#?+:]5F7M92:Q[0-X*IV,-H/G4&U^6X1(Y/NB%YU.K;$P= M*T\(D2790KTA'<>H#.Y8S'N*:"LIBT.X)ZYMW9JVYESP(!]WCS-):5QI( T. M&31(FUE3%!0J;2YD!H8,&*D;,FUE10LEM<8.6>Z54A<<=[9&%.-G*VD9<"O?(ID$G1JY"XBT)88%.5Q#:)46DF=O*.@M(-%S,D5YS% MK/$H'-.I*K,EB,A+X8^*T#[SOUM<@D=5@P'$9D)\"'RFW^(,% W)7S&][XO' M9CP?4ZUEN:1@"4,[)>>9#I-7(*>2MJC%Z2G' MXXEQVBC?._2:LW5!HG!4"1_%(LV*HV--B<2BH/J6E)(A:P3K(Y512D[1MGS# MX3L* J0W)%/@82Y-PQ^QLUH.XI:BD-0(H8XH /27&_*(>5F]2\)!,!/\\?C* MS[2H4Q8K9[F[("67R3_SD7 9FF@6"> !GMOIB@#2R0"$XR@,T4X4+M(SZ/;2 MH9!Z)E)0N8.$H5"R-\U/PD9:$BEY5F7(ECQRE:@G'/I5)D(\5%,R3%XHGK>N M%K!#82-)-<*D4IM;/*4?XBG)TFA G&W('0)\!U,I+0RN)0AZ-HPZ@@R"8VVM M&!00 )6,>/FRX$5J;KE)F2,E1HIZHU"*W^(C'P?B'^LI?-;;%(>3VN;&U2SS M2\H1K&JS5[:ZS4KSHGG5@JN)CD%&UMY!U;C4W:%=6U]PI83Z.*FP9Q/"]D.X M0M>:MJ;R"E@S"M"9*,?N?;8TE7(Q-H%.,G4<-@8Y'1=7>9HWL3C;EXOL(B)V M*-C13*:N%TFA<>_6*WK4&JH [+NCI&5]!POT.UL<8M^J[T+(%\U$*>T3@MQ# M_!R,Q$X*V*>2;Y6DR U+)AT M J%\R>+$4'["49+7-C>U"ARARWU3Z/_Y%JLI"2.5;+72K+$-59>X>,J'Z-71 M)$]:&.K=J0QG8R+(4Z0P_LO7NJ#*0&(U9X(!;8R&AY$3RH'_IPO?HN+V7>KV M?F.DY,Q[R<[Y?:93:!Y9[9+K/Y%)O-#?4?4OL;)03?09*G-K0!J@:&MBG8[;UV*4T/O9?A9:VA!E"V")01'K'!KV$J6Z56BX0#ZZ-'F@DZ4&]KQ@)CE($ MK;7?B>G65&MF+[W.'&F9J*0D2<$030P$PXOD>1KU\0.16%&WE1P#&VZO$"H0 MVZP>/WBO]=53CC*K#>7,&Z^L?1^;VE(4W4QC QK=7G)TF57D1DG/+0 MVA_5<:2!$,]-25T!$'ML22PZ@);#M:=FON%I!V6#VSN5HF>Z$:;&K1&540\1 M'3YK]J,=QP/>B_CN"7XUZR&]?_1DZV0\4"5.P!1]&J0=N?Y5]3 D:@UW[LV) MX+U]16PA=XA/Z*P-3^/]9GVWMQN/MK.BVQ6LF/4::2.!IGGUAH87Q)8@L\&S M/R8%\Q]QAG'?W'Q*R.QBSI'V'( @3DT2O/>XSTKZ&\ZR#M_!@[SU]_&GOY?+ MU:NS)P(B\@)DA:0N)HTC;'M MXG!#3%E(BTH[/K399DTPG)9O8DM'K(NI$69JF.)41GX54JETLVN*OF/I0FI# M,TK3^QY,$S*X 6IP[!#I8X6-2E%FN[E4J &$UCIX?;+OZ$IK9P1 50S$#)5U325A%"18Z.=_58.,YPM4;L M9DPD,,3:"<$H\<0VY'/Y7=*ZL4X!1Q-R0>7W(M5H4B%)7S7@J#*U.G!L&%X] M(&(\EZ8>V[$9TXLO/-(NG/1[:<,;@:4Y(_16UIC9&9B'0U)R\(FD%-LL[Y$6 MYLR'IO 9L'=6L&=\J8 S _DA0A6"LG!2:2$HR!K,V@O@;LMHH&E]A;J9U9*6#_8B-GI#VZBLL;%8TLN:'/[M.G]H M%!T17!)+"5;><"6L=?T<@969NTXKHP2I0+6FL5.F9(LGO)AR:AJS](PN;(P*8@!"TN>W98>P&4R_X3<&8NIXIR11 M!*FA[)+;J/?R+ DL]8,9CG.# (V+RZ;>J$<9-$+MOQ;>,U+,T+&^#ZHO7$":U>&]$=J-K#MS0HI?H18EQB7B+'D< +Q(6,#' MJ1+*X0B=H%1\L+L:$2T2C#2A=2XUJ6?-.2GS4(>0Z49S^F8N,-N0<^2LX05,C\K %?3J>D%,>PL\565] MLG1+G"*H"L\#K->67J-B:6Q+(:FHLTO1<59>F]27G:DMZ M[2KO7KLE'T)G1LS4UKSY_STYDKW@C]D[-/6J]IM MC-&54U]'73;T+@V@<5WUM;;2!!Y0!0TQ]49GA6[CO2P1V*MQ5@PIP]*JF<+USY3C/_^[.Z1%M]]0VO\. !M$#9VX MZP/J2RE32SW6W(#(61'';8$4ZT'D;.:WE"QIGK['H?7UH%]#0C$EF,ZS]^X^ M[WD/)[G;_"T]#@U9-X9O$(YV-5"/0B5)FROB$'6M(PJ9I,"49=:6<;V6K$4, ME;(^G+S/('61JYJ$5R5FV;M16N>*O6C2N:'OHPW26MEA)4#(^KHXRMK=5&FS ME]VRGAK%-EEKC5B2T&82LRZ221)D&9IV'..@X (],"HBX$%>A'.5^H!*I[;K M)?B+15EN< M'PJ78JL'-1.H'1[D8>84K/H=SF%'#F78Z5TV">'MZ+[Q^W*,@PX5WEZJ4<.^ M/DXW(I86="-E$7-'!^0L$C.(*4(!@I?2-)]/-2J)GHCO1/^<>#]-/F^E@[%BWO_9(-HL#8OLT&57R62'PBZFX\Y"93KE-%79=MM MI7^W7P+RAB![F_>KADP/.9#T\Q%$G$3IQ(:)HY[S@=,G]$C%[SIT$ROW! M+V%(-NWYH;R5MCTMP<& PW9,_N&G/!/'5+?Z]@3"M:1!?O&4>/GY_'Q*'15/IX\D2B_9 HG+-:1CZE?BT&B*N5M"1*Q+9.+_R&XLQ4!T^YO0Z*N CYN)9:+:3W M@G^W1/7)P)E9AH&'YNUT<56@: M#L30LV@YTENEX6!LNJI%J-^F+CEFS7WYHO!7"O+<)"F5*XH0=P+C^.]DZ[^JVQ8*+GW^^@G+3:&7O5'A271_5^6N,;UFHE/)820FV)_ M,2P=!V>UPR?LXM=XUP]?/KA^,4/#Z7C(_S1N17_R-G$=4!L_'%AX.Y;&H#G,P=7HW_0 M!O%7[][\+U!+ P04 " "36VQ2A25)-MK)_%* ML;SK? 5GFD.L9H Q@!'-_?5YW< #U;Q]B^V-\/Q9H:'1:N)8M?5LXW.N*KK_9#ZTF7LJFI]X\.#OZ^WVAC M9V]>R;-S_^:5ZV)M+)U[%;JFT7Y[0K7;O)X=SOH'GTVUCOQ@_\VK5E=T0?&7 M]MSCV_X@I30-V6"<59Y6KV?'AR].GO!Z6?"KH4V8?%9LR=*Y2_[RL7P].V"% MJ*8BL@2-/U=T2G7-@J#&MRQS-AS)&Z>?>^GOQ7;8LM2!3EW]U91Q_7KV?*9* M6NFNCI_=Y@-E>YZRO,+50?Y7F[3V$(N++D37Y,W0H#$V_=7?LQ\F&YX?W+'A M*&\X$KW30:+E6QWUFU?>;93GU9#&'\14V0WEC.6@7$2/7PWVQ3>G[LJ4>X<_ MJE;;DAI3O-J/$,L_[A=9Q$D2<72'B,,C]>8\'(Q^+O,=W&7GVZ\>W;.3Y\<]OWWWZ>'J/S"># MS"[\'L?=+^+GLR_OU+O5"@!5;J4&B6==7"+!+A50>](%[ I!G;7D M-0,YJ&-EW175*D2/K..MA?/.ZBOCNZ >SGI!LT=JHX-:&1^B,B79:%:&2H4] M\# U2_+P\.&/U.O.5MN9WT4$5.E+E MO/D=X@:]<98><+107R#A!KR4P2(QV=A*N9V4; MO47X$5K;$8O1&4\3Z2\>G.';)6VS&$/)LMIQ&%/DC<5*%[7(O,"1NG4>^IPX MA![>@CHA[Q ,BB)+(HN@+7_C$W%V!5AZBY(=H98M13A*4QW)[QF[U]8:$76> MPPG)5.@.,EG3,183P251 P$P@)&KZ[G:$/Y!<;VLQ=9+HE;VCW9UK5C@.VO9 M;YNUX:7PY0T]LH8AB80/2#RW4!_%VA&Q:"O0 "@QD=';NA",*+#6\;KV' T. M_))NJ*\ZR(.J7>QPWI]P5<+ZAD0X!'L"6#W6PP-AW<6]DF&97+"=*+-07RFY M$X^,*P% 1C$06!,?S")>6)L5P(X./W'F5!*?A-YC&N2[^,9V4CR BR$C MV8-YMX%0P5B$YEM5H>U:29?#;!F,;S4.KO7ZSRJPP!G0L H\-2X2#4D?$EY-O\#2 B$9)/(@#"O;25> MRPJGS!:G(+23K)Y4%3:62Y/GZ%NJ-!.0#+-PHP04KJO+7*"4N1V#HEB?[2EB M&L#]'HD[;XZS>(B+TX,+79/4NH "V[L4BC%9 Q+X^(M_/SXX.%"?N(SNO>]L M-(C,HAVH.NE50&[6%6\M4F:"=D$@K MR%8H+%A6>",.2MEDV T@?( ]S,&ADF6HN4IVUCLHF#:/O_[E^='ALY=A4@DD M3 @B;&5,M5Q1.L]PB+04Z/3_H'/"<%+ZSZAL.,2L$% )[UG\ MC$?2 J5<#NT>E)U!D?,MUP'1>04-46-2K_MN1%"=_8[$)FH'UM0 MDZV8JB U 5C&7&X4?6U>[09VX&I3/C>_X8_1!Z!T#"+I4.R/1- 0$"*QH4>J MB=*H$U,#KDM$)_1EOZ_Z$QZ:"<&T<:R,15XPDD V3)I>X="1I::L/92G2]HZ M6PH3];0#E4*J4VLN$^H&TPO (+,*285U(OB2(GU_PX0/PL"V2F&^O61N3%UG MQ$QK:^$D)1L9"A?J%^0BY%Q$@?\@Y3,A@U;J7U294*>IXDP-,\BS^60..9V, M-\>FG/=[V8)WB)!C92ZH@ IPSC'<_)"WS4Z//[^[X.]Y$F+H"]\%V&J]Z6O, MCH*9TO<[X2;84>5N!:#8BIF@+>JNA#4RG@1),T]L!;O \6T%VH3 HM5;#QJO MHOZ.9@>GFL=(H;SBOH>(2.!#;PWV"^V8HR;''B4XI7;,&4!,MDM= M7.:,3'FKN?+8Q#;&8[-2UPW$ZH"IH84E+?JPH)N7#1B_0-^MQSGTN&32PZ.G MA.Q<;XLU08%S#[:46 $^(@<;J*B9.S)^N)]"(*B@.&5: XTONB;D1L T 066 MB5>?>?W4QUY8J+/I[#J 1+._G) V 08R_E)7U*/'HFB:Q+&/!T/3*,T1EE2Z M#1^8'H#% +]KB0T[1J8Q+H=E*9F)6"4[$R_@ ^_S"6H6/�'DIN$W$:BI&P M:XC=\FR]Y/&K-50D'E=/DB5-JL0]AVNERW,'[+_*)$;2,\D;>>CN #I6&G:? M&'3'D,R5=2A D[;#,QF?,YU!D3$F9OB,K1I%\'9+,FM@1:^3XAT6L!@'4_4/ MMPSJ GW"^3@XEX$]+OEII&C3F4>KWWAOR'O;O#<3H017!@-0D)H=CUEY<:]7 M'A% )Z M@ :71>[]SN[.1).B.+9,ZBL6V'9* J2Y<,\1$M=++5?1'EZWJ9^0 M?JOMA=MCW(KEO"4KR>LKST5$ZC0@M($AJ&C:B,D\ZM?3"Y>4#"@E79'YZ%B, MN'58Q!?J__#D\&#.(\7 + 'JC,[4/U.!+,@(T+/ 1&#.IGI[F\2&#]F'E7"GX3(P$9:;BX3T\$K"@QOJTZWIKXQN<')/="YR2 M6%N7RQ]4R#1YB.J02$.?8 ^M#:A+C92I!?Z='8M:JMD[AW R>5WT1PRRY0X[ M#4'LN?P\Q%SWN6KPETD5N,.TE.(<1W]M\+1"]/H#.4Y!+N"QL"2N-_Q-@DI7 MNNYZ^B6=B WEA\0FWN5YJ9YFC-AFC; #KP,X"?G:0JZ^('*RJ^'; M=@ *QH,;WA^A1A?>W1(?N8N4>['A&#YEN. 9CUNHCW:H^%+A[A YGUHQ&66E MB.4[O%S3WA]?G/R-.Y!, >PZ$!"0!E\R22K%&CGNBVMQQN.G!^*JW!MX_;T> MOL6**1YWKA=?/#B=."6IEV%]\>E+(HH,'2SJV :^DC&108]^T.9++'])@-[# M\8B)HQ.XI'7VN7T#EX]>JC-AQFF*RQ>QJ ?]#)D5VY+V*E7F@0GT[PJ2""9$ MM:N8V=]8T=_J)E-VQK\+H$Z6?Z-1QF5SRN[.4OTBI%?^,K*9T]]UC>#EF@Y M.VPY"#F0;&QD2;KBD5L>N=JI,9G4VZ0#&SE#J\;SQ.K]G&Y>EE)::4R@#8-:VP]6#Q[.E, M^?0",'V)KI67;B!PT37R$6,6',@+\/O*@1KF+WS \!;VS7\!4$L#!!0 ( M )-;;%*0<*G5.@4 (L- 9 >&PO=V]R:W-H965TU\$ K,\-66APL,EWL[?53LC:U>64HEF4!_ M?5>2;1Q(:&?:!X(M:<_NGMVSMH\W2G\S!:*%IU)(<](OK%T?C48F+;!D9JC6 M*&EGI73)+-WJ?&36&EGFC4HQBL?CV:AD7/9/C_W:G3X]5I457.*=!E.5)=// MYRC4YJ0?]9N%>YX7UBV,3H_7+,?/:+^L[S3=C5J4C)>V>*D?]B'#%>L$O9>;7[%.I^IPTN5,/X7-N%L$O:A8W XWF,0UP:QCSLX\E%>,LM.C[7:@':G"P"B&3TK:PL"5S##;!AA1=&V(<1/B>?PNXB6F0TBB <3C>/P.7M*FG'B\ M9%_*5U^O;KYTO-]9BT'B;>P^3_\! H>!_P MYO;A"A+X_KO#.(I^@EWX=ZB]1&6*<+L4/&>NE@9N*TWB"45>=\ZHSAFF:4]S M4B47SV!HU:PX9L L,%@K+BUP"9;$"$QF('C)+6TWL,;2."@#S(NQ>D1=VQ@O M37*A-SWB+$5*CCPV:_#>9F-)L7FU_+65 MY@%$@WDTA1@^T'4\&,<+JMF'748[B)T=#B;C&!:'9#V=#^)D HLY61_ ?#R( MHCE$X[$'GBX&\2RI;S\CPHVR"%%"=&I@6>8US 0!AY$=IF?.=.:8SKAA>>[N M_08E5_,\A N2K:8I">=,.+;-RPJCHED#*?'.C:>DDDLNA$NE5)6DO956)55? MD-FF0.J$32=C7Z>FH)W&H&;J[G08PJ<4,3-^.[B VJ%5?C',1D)ZR^40SM(T M1.4]:)8A2&+). _(']E2H.]6YU"[QJ&090C%37'G8\V>2U?^)1TIR;*2E'U# M;H_";D)LN,BUS/OY- M*Y:=D-N2"VHC'./5EKXJM2,NW1'#T6LQ=27G)_3K%=+?JSX:$!>IJ+) BJ(H MR7^EM:,[G.@=]&+_MY.&CRV1;1,T=)/1=#:GW^1PL<^8GME(SJCH3&LF[7/+ MX@$DDXG3[GS:NRB8S.D\1?B:&UKRL\5QY/(C>T,O 83H1?!&&J$8AMYD2*$T M!+/*83G?.88F\5-5T:V&K-)!FLDEF)1)Z8N%^I&G;DBK/^AUQH>P*7A:M*%S MLW,H42/MR*/+Q\O MH)1:IIPJ'6W/>PV>#V8T(' M?RDSQ4ZQ.&Y(O+L;?_@R 1=^ *9OTZUH&'8#T"B8#8-D;RL,X8M\B7%?*L[A M_FYR:LU1HF:"V,6G-54NN%WNDW&H&^E4XA.-$4F#<[]L7T:CZ52KJ=^_KM51 M;]\#])72O;B]GL_^NU>2:#2/G%"3R3MX>]GM18ND%T=)[T%9)AS.;.+$/YGO M>G\;=5Z0:5SD_C/ S6MR&]Z5V]7V2^,LO&"_' ^?*9^8IA0-"%R1Z7@XG_;# M0Z.YL6KM7[>7RM)L\I<%?2VA=@=H?Z6H6^L;YZ#]_CK]&U!+ P04 " "3 M6VQ22P/"5H(% :$ &0 'AL+W=O"[5@\X #/E9B%*?-#)C)D?MMDXR*+ANR0F4 M>#*2JN &EVKC3H_EU(B\A!M%]+0HN'H\ M!R'G)PW:6&[0&ESF5)%(Q.&F?TZ#RT M]([@6PYSO?)-K"=#*1_LXBH]:?C6(!"0&"N!XVL&%R"$%81F_%C(;-0J+>/J M]U+Z)^<[^C+D&BZD^)ZG)CMIQ V2PHA/A;F5\S]@X4]DY252:/CCMD'1EJ"=+,2<5V+8%C&4 MD<^R-)DF_3*%]+F -MI4&\:6AIVSG1(_0M(B 6T2YC-_A[R@=C1P\H)MCI[= M_MF_.SN_[I-!_^+^]NKNJC\@?YT-M5$(C;]WJ AK%:%3$;Y%Q:98[A1CR_!( M3W@")PVL,PUJ!HW3+U_O^B0DO_\6,TH_D(VJO*]31?)R!MI@V1B-WPB5.K^Z MSB_A"D@BN-;Y*(>4<-R9\5Q8LD,L]$/-D9Z7*4DDEI\V1(Z(R8",I, JSLOQ MD8?Y@6((JLZ1MW]5(I&<:F34!]Z%U,:[+_&F$/D_J.02;PB]NG$MM0;M?>*Y M(M^XF((WR*0RAW>@"N^^-6B1L9R!*JTOSAB\),KDD ]T5K*SQN#OLR==EX:Z^6>%S?]3H#O*'YF M?MRDJ/]:EN,WAJ/;C%@/WYWGX<#M7O3NAWCXE!QA8/XBVQH(U@[#K MA5&M&C=ZS.O_F.;F<4GXZ(6L)MC'J^/ "_Q?!$W84"QB1H-FW+-!HUV&SWT: MH 1PE,VON?@!DUNRX)C#W+!&['\3LS09M^'*UB#=>=[;ALAE@9X0IU MB)AZ$S99Q\*2=5]@DR&6WH'-#F(SM*7JNZQY!]7>?ZA3WP\Q[2MUZM-X!S8C M1"Z-*M6X"GN;@-FIQ87Q6T#)FM2/K$?VL<^<=W830Q@R!O=.'+XM)A0!'#KL;K:=[&XOUOP1@F1\!DACEGOHDK"P M-A:?C\"5QJ#:ZY=P0]9PY4*RM^&(]BK)0P [&212I8LN!AN68B)+FR'4Q9-D M6DP%1C,E$OL7Y8X59':H0'YA 8Y>8)>=/&12I*"T<[;[@8"[&5KD.U2Z4K"% MCJU::JTWKATJ,? H[M#PGV3Z5"<+C]!XX2H&VR:U,U*;?$<6ZV@+VW(@7R0" MIN/D\#1U]VA2UR]>KL/N\>$ZXS M%S'4Z9A1ZQYM!3BQ".&&KZWI9:W.#BK::Z[VH,E[JJ>%UR%@PSNWCU*N9PJC MND@4^B23W.%EGIL,I3XN6E\-K\G8FO4MLFFN:*_,:P6HL9M*,8IR6IIJ=*MW MZ\'WK)KWGLBKJ1F+>6Q]$#!"5K_5C1I$59-HM3!RXJ:_H30X2[K/#(=W4)8 MST<2L;586 7UWP&G_P)02P,$% @ DUML4@68B2Z( P (P@ !D !X M;"]W;W)K&ULI59M;]LV$/ZN7W%0B\$&VDBDY,1) M;0-VZJ$&FA?$:8=AV =:/EM:)=(EZ3C9K^^1LA6GBST,^V"*=^0]]]P=>71O MH_0WDR-:>*Q*:?IA;NWJ(HI,EF,ES(E:H:25A=*5L"3J9616&L7<&U5EQ./X M-*I$(<-!S^MN]:"GUK8L)-YJ,.NJ$OIIA*7:]$,6[A1WQ3*W3A$->BNQQ"G: M+ZM;35+4H,R+"J4IE 2-BWXX9!>CU.WW&[X6N#%[X/]^A_^ICIUAFPN"E*G\KYC;OA]T0YK@0 MZ]+>J]ZU(\_RH[!BT--J ]KM)C0W\:%Z:R)72%>4J=6T6I"='5RJBHJ9NRP_($QD MIBKL19:0W7J4;5%&-0H_@,(X7"EIH$39ND HT7.9"+M% M(8&JN%(2I36@%EYZKG'A:PQ"SL&*1]JOL10625)06*R\B;($?L"0_ D#"U72 MA387P>\H=%WVO2E0_;":$49=0W8>M"82;*[6ACR;=C!"ZB@(]^(QH!^,%PNZ MI\$UM2%R[[3_NH%N)=TY"G:M-1%&*68GOB=%[(TH$@^2UL 6:@*6= MH)4P: >,I0%+ND&+=[T4!S<'TTCNDJ1#8VU*4NS()(P[G0=X&_!N&@SMS[GD ML2O>S_G<9>-REXW[O6P,][(Q;*(!%\[4A3-]#F>89>MJ79^(FO[+%O%9&1., M1"ED1F='_(,=Z[H V+O3]#QP,;125G])15EO'\F)XT,A(3RYUT_2LX_V?[N3X]/^2X+$_0*[X*]=(_3X9XK:6M>WBC;5[ 8=WXG[?7S^>5T$MW7DME3\-*=7'+7;0.L+I>Q.< Z:_P6#'U!+ P04 " "36VQ2EG;M ML/8& ^$@ &0 'AL+W=O)=$G*KO?K]QPIR7+J M%.T^#@AB43P>G[M[>'?4V=;8CRXG\N)S66AWWL^]7S\?C5R:4RG=T*Q)8V9I M;"D]AG8UGHU(JW;\X"^_>VHLS4_E":7IKA:O*4MK=)15F M>]Z?])L7[]0J]_QB='&VEBNZ)7^W?FLQ&K5:,E62=LIH86EYWI]/GE_.6#X( M?%"T=9UGP98LC/G(@^OLO#]F0%10ZEF#Q,^&7E!1L"+ ^%3K[+=;\L+NF^$-E/C_O/^V+C):R*OP[L_V5:GM.6%]J"A?^BVV4G9[T15HY M;\IZ,1"42L=?^;GV0V?!T_$#"Y)Z01)PQXT"RI?2RXLS:[;"LC2T\4,P-:P& M.*4Y*+?>8E9AG;]X)945'V11D;@AZ2I+\+AW9R,/Y2PR2FM%EU%1\H"B22)N MC/:Y$UB M4'*A"N45N<#E3.!@\"KZG.92KTBLK4I9D?0X3E61B07A[*6$HY,)Y "HB0H% MGM=29<(; >]IMR1,MCOLQ"/ZK'S4][-0<1N,=*K6LN#5I7%>R&PCM@# V(QLL8O[RGB\%^2W1+K1L9;6*]X*9&Z,+/<$%YGT M- S$EV&YIS37ZE,%QU3L%UA5BW<]BH.G2O5/]#3D@HL7CNQ&+@H"NG55>QKQ M^$*RTE_(#CF /"V[V^2*K+1IOD,R\#E46")1T(8*QWKBT@$_;G.5YC'NRL*= M?FN$!.;4(&W"21SA_9X,C&4+"5'ENE)=;(/CU@_%^T-^[6&N0 \75.?(@N1" MW(WEB$'5I\IX;!&HX$((0RJN0^5"O %#(V!@1DW73MB9K8]^8_/%1"1BVGL@ M:0F0%DF#R@6HV"0.<>>47O4>73,'0#+XP/W01[ MTP%[W8*=1[ -NMZM6FFUQ!0H]@;^L.+-WOW7D1ZU<'(@?-?EQJ'@M!?W#E.. MTLH&ESSOW0UOAV)E-F1UX#2'%R=)ISL$O5"KP&S7^[$W20:SV5,\A&R2_'+L MU0MCU\;B5""?+'QGGZ V)1PGANHI4#"CM7'*]YX,)J?/6AV'H^ ;I)GT(_RY MU]=+!B?):2MU.+KZ5#%I:NE=;SKFOV:V^7UO/'Q?'O,*+$J2P>3)% ]8&4>S M:BXX$(9"WY6EY"2, W!5G]33T.]:$L/CS9MT>R@O%<:F.C<>WP; MRP:H1/^!0%';<:*$*MAV1MF^VVG1.Q0DLT'=P>0.#1!$-8BA-$J9#V!+J8&5 M@Y0;P/4R!JH42VM*^&HCK2+X-)3D#+VZ!?D\0$F;<8,AFQVL>]!!=,A9#FL+ M53:5L^EI0F\6@7 W%E#* MBGT VU+I\@ ($&-*7,, =#P<%Q@.\)8*R8CVECB1P1QN K&ORXWUC]GI@..; M4 3>&$?=C8?B%F1_#?/$+/:56:8X+ %?O&S&>]\*WF13V%O[X(3L>O000ZE^ MO#>V;B='A!,,ME:")#')&N2E5(>]"=P_!V HT[ M#F\5>!1ON&0C;3,5%'%M[::?>VP.[@>4P,OLV\U6)2^P(,507"\;?V=<^#LZ MZF2\)Q!.M&]X@1E'#YRDUALIVFN'=,6J75L/&KU'VN?AL7OGJ'.GAX-6XMV_;CR/S^$U@+QZ_K* #6 $I"+G$TO'PR4D_TK<9>+,.7P@6QB,: MX3$GN-&R .:7!NZL![Q!^\GHXE]02P,$% @ DUML4B9R5DI*"0 4QD M !D !X;"]W;W)K&ULO5E;4^,Z$G[WKU!E80]3 M%1S;B4DR"U2%@7/./,Q 3/SL+4/PE82%;:5(\F$[*_?[I;MV"$PS-;6O@1? MI*^_OK?,Z5KI1[,4PK+G/"O,66]I[>KC8&"2I9O96K?\4E3XQXB4J,_3+UF[M\*3'DM)8E5>;@4$N M"_>7/U=V:&V8!*]LB*H-$?%V@HCE);?\_%2K-=.X&M#P@E2EW4!.%NB4.ZOA MK81]]OQNR;4XO@"]4O9)Y>!KP]%@4IC-@75=BE85=% M*M(NP !H-=RBFMM%]";BI4A\-@S[+ JBX V\8:/KD/"&K^GZY^SVZOAB=G=U MR3Y=?[FY^GHWN_]\_97]<_9@K(8 ^=<;4D:-E!%)&?VBE'T6?1,)\_&C6?%$ MG/4@X8S03Z)W_O7Z_HJ-V=__-HG"\!_L59U^"+;D3X+9I1:"7>6K3&W@XLZJ MY)%]+A)18#JPFXP7;&:8FC,PM\@?A&Y,WH?-0@L&$<(,QHEA7U5QW&!=2@VY MI70%^AZH-?Z,1OT@"&I(6)ZH/(<,-013:9HR6> FQA<++1;<"@8EB$EC2@[L MV:K4>&6956Q>VA)P8:?5,K&PE[#90L,"PTJ(1\U4J7].GQ\'M530>/8D-$P([.I9Z$0:J%K@0/@%JU'_\EJ[^KO%)YQZ M,12@.!QZ!UX8^5'L_8'ZB=0;3OIA''C1Q!]&7@V>>D?A<-J/3X;L@S?VQ^&; MZ%'@C<)I/PP"1(_]J 'B#YG8MSR:0OF+3G#YT ]"#VTG"PA)&'22K:G!BU65 M '-2H(:EX<8 M2H2& >[RKY.I75(+%_"N&6E6%W+G!Z@J$L9;>+VW-)0&[8G/+S*>/![?)4N5 MP=9=LC6(M3:9),F6U[M>2; M!SP\.%E:FL?C.HY;A#/*]=M,CEOTL[UZ^#X/A/% OB@#&0)1J'H[#N+;5/9D/6V: I, MUDX\'VIG]>Y)9>"=#.LQ>A]JQ*K$YXWU6LSG68DIY"3(.CHDC!U-R=GMXZZ& M[ ^_VJ=K=8QJ8-N3*F4"SPO[9L8UV!*IUL---\1_-D$X?V*.5/%>@31]ZE%L M.E$(])PU\&5+UFL9X-0[1E/@ HKVCYXK\MAV;O>'JO$"?S0Z9,P=_IH7?5":[:X5[LP_GJF,5^',,U% ^\'@7>'K=Z\=0?#1$1+B;AH1>/ M_.&$[D?^9'SH74(W3L'H+AF 30 LW.^/W8K:-GG!MH.!=Q"._'CB'8S]Z0F[ MW03R]Y30W4'1 M*:7WR\09M%TCNB/7.X.56-2GI&'0'X.??XE%*]&H05!S.B""ZNCWM??/: M+XG?CG/HNVIO3C(O)8ZWJ[HD*S%O381!ZF)?S/6.L2XRYU% O M 3+C!DO.IEZLYG-H&Q"VKGOXC6GK@[2%!N9X41[!=#Z9CNOHK3.##OKC_G@2 M=MY NOBO?\.H5KK9H.5$U+SZ!M%\ -CAXK/7OK1!)7+?5O'Z!I98_NPD';N6 MW/$;MOC"B";57/@??4:CJ=* 6N9#JP6]%P\SIQ].0O@[G88>%$>5X_#U#%%2 MB#DFMQ89KX_8KZ#![G$84:J$WFQ/,KFQW2H+A;(LH**K14'=O<,I4=@IM^** M;8:^J@?7-%GF H_R+R;OZI#1@+XX.%23B(+;]B<&8H*EO3M8-<19BF\C?PHI M '[Q%\,[DD?UZZ\Z+1- NI+&?83.2CIB M'8RF3AI^1($SGS$=/_J.)V3%2Y[A2?S_Y!F]27/?I]A!ZT-W+O2"/N?C# LG M8_?-NWG:_,=@YCZ4;Y>[?S=\X7H!!SF8L.>P-?#'<0_.%O0)W]U8M:+/Y@_* M6I73Y5)P2&I< ._G2MGZ!@4T_T&ULQ59M;^)&$/[N7S'R M5=6=1/$+<"0Y@D02JLN'7%#(]515_;#88UC%WO7MKD/R[SN[QH8D0-M3I7Z! M?9EYYIG9F?&,UE(]Z!6B@:&/1^YLIL8C69F<"YPIT%51,/5\@;E7* MV(-@/"K9$N=HOI8S1;N@14EY@4)S*4!A=NY/HK.+OI5W K]Q7.N=-5A/%E(^ MV,UU>NZ'EA#FF!B+P.CO$2\QSRT0T?B^P?1;DU9Q=]V@_^I\)U\63..ES+_Q MU*S._1,?4LQ8E9L[N?Z,&W\&%B^1N7:_L*YE>[$/2:6-+#;*Q*#@HOYG3YLX M["B*3D&I25)C2[<*XZ;2+'A7V4N5%TRTG/C+_0 MNU^+1!8(,U0P7S&%H\ 0LKT/D@W*18T2'T")8KB1PJPT3$6*Z4N @"BUO.*& MUT5\%/$*DR[TH@[$81P>P>NU?O8<7N^0G]-[N/YR>7LSA=GT#N:?)W=3^&.R MT$918OQYQ$*_M=!W%OK_PL*^2/X-RNW]%$[@YWO),8>45'Y@:B*!:')S"(4 M5# .40-5LC9,.)BT4O;/ZI-E+M/N:S(ISYWQ_YX.46B6^+WBCRQ'8?XARHFD]J+-6Z^-A(7EKROB5)56^0E5PC5:62K+Y %D:1N+[L C:F--T@WI&L43 M%P(G5 EN#HO4QJQKF9(%E)5*5M1CM#-27U94412'2L&T*'/YC ASASS;",,L M9Z(#C+QA>5+ES")7NHF!H5ZM*_6\X5.@61T-B7TW?$KRB@JY9F51&FC;28F; M./KJF57A"C#+J/G:+&#"\%^<%/7@+MQ;1$H,*9K) MG#XG^LQ[?RW(F*PTR6K+&TOC$&IY5LB*+'SPMGW.^]:DVF23:O/:\=MM#GEM M+X2)0_!^1Z;JY@91'/2BP/:E,^_"\O1^\@:=83_VAITX&M N[)Z$WM7&VR8* MVQ1[$W//E7O\R8M[I][[L!OVX$.KOX/>'_0=^G#X?_H=G6[]'@[[Q"N*>HY7 M%/V0UU'_M%WO>%UCQQ_C!GLF#6ESEN?/T.32GD)^59R'*G)_&?YX!7;A&+^C M%;6O E[F?5JA;4EU6;THIB;0KRL#!L-.&(:-?2[LIH3]L9;5*/)EOQ>L"[86K)R=<<,U*E+![XH.JAJ=X8 M6;I!92$-C3UNN:(Y$Y45H/M,4H W&VN@G5S'?P%02P,$% @ DUML4L I M>(37!@ =!$ !D !X;"]W;W)K&ULM5AM3^.X M%O[N7V%UT0JD;)LX:9.P@%089A=IAAT!>]'J:C^8QFVMR4O7<2C<7W^?8Y=0 M9BAW]N5JF-:.[?/RG.>C43M;JDJVPV:E M:JS,&U-)BZE9C-J54;)PAZIR),)P,JJDK@J;-;'@VCP].!*+Y:6'HQ.CE9RH:Z5_77UR6 VZJ44NE)UJYN:&S4_'DRC MP].$]KL-_])JW6Z-.7ERUS2?:7)1' ]",DB5:F9)@L37O3I394F"8,8?&YF# M7B4=W!X_27_O?(Q*>]6L?U8;?\8D;]:4K?OD M:[\W$0,^ZUK;5)O#L*#2M?^6#QLUK&=:EOS:2JL NN4D[FADH8-V MCF8;>:=>GM@A+Q+\8U/;9QP[>?$NCV]^/K_B[R\NIY=G%],/_/IF>G/^\?SRAK^;WDSYOZ=WK34@ MR^]OZ$IZ78G3E?PE7:^A^[:\RU]NSGG.O_\N$U'T(_\?KES4]PAD8[1J^:Q! M'K66-W..B/-Y4R(==;TX9,!757<@ 3!F^QBZ(@#V,,\B!+QNP6ZFF:FV92)(QCF+ M@BQ.&0BG0=J"+YJF:%D2B###ACB-84\%6Q$"E[7ZV8> URA249"&$3['8LQN M&@O*;FV!;A$&(HW(FG$PSL+=XK@TBK=$]X)+"X" 3@D[42AF7=65?J%JC-7_ M<8<#OE"U,K(L'UTA*#A5%1Y/>$6,YUVKYEW)2SU70S[=(03(&U2-7399\@A' M]K@8IOB?\/,_.KUR"4F@EPJ*ETU9<%T!UWN7JG\_NKT2CUN8AC1(@C01[,.K M*EF,70(AR[.415D086>4!JG(V;;KA4*K0&'Q%;A^B07;AXH\3/F!&\59Q@Z@ M-PY$/';?<1+!@3OSS982(%R!.MS&[5/9/ M[?V$Q[5/3V2>P/<^DB<1G* 6.05:!%F>T8(()A/A8B#B";MNYG:-) %%)E@+ M0QR9^$D$@APP[/DHS6=E8<03)H2?;UOPU44%AK1+O6I9%$9L/R7%((F;3&*2 MDCD3HCCWMF51XFR+A2>!",?>MBP?>WY$(9N^1H+M&!+$+LKX\X%I#]EO2AK? ME_B+O+AUO9O0NU\,^96BRPSY] &I_ ,=:JE"?!W4G?FT!?J8"F(4)PQLVX(T MI[]P*/X4@CG^Q4.*892[$H<,/&^MKGR962R,6F#X>HKT)6O6&4/IH;\B--4F M8G*M'BPFG>&'J$0>5K0;/Q!/@_A'9ZN?)*[DF0XJ-@K_?E6ZQ:W0XW&'PCO7 M#E 1I)/,L3EV6XR1M7U$U95WNM3VD:5YS-))Q"[J&2#D5CY R$H^2G)43'(> MQS%SUQX&_D7CW+$LRV,G? Q(_9WH2>(_T3W?J;D"Z 48N;'7*!3]3D%G1MYD MT6NN)!.&7GF&[D(7DA<6N2L 0I$E&WI1YQ/L6BE^V8 "L0NF+ I-)'!=TM_@ M_66ZKY:S5X0/>6\+=<7VD-\JZN+WNE ]1U3/.]'1)-X6E,' &N[SA&_QQ[ZB) M&J >D?39E/57&'+];25@9^A.98FKL:("<*=@JBL,Y*US +"GKG:FF6M\I@/4 MY-\S""Q#G]?6B/ M^+E'#-U)[T-^0^'ZVAH*6['K%,5,U[.RHRA1"0>!JA7(43N>R>+>>=\7222W M V_HM)6]]?^0ON;++4OD*^W8?VQ7CB[G]Y\H)YNT_T%?.U M][/1UILPJ+%P[_M4O[O:^I?B_FG_D\+4OTD_;_>_1Z Q ]@6-\@YCH;#=#S@ MQK_C^XEM5NZ]^JZQX*$;+A72U] &K,\;%.+-A!3T/[2<_!=02P,$% @ MDUML4J:.?\4+#@ AB4 !D !X;"]W;W)K&UL MM5I9<]LX$G[GKT!YDRV[2I9%WV]@$B(0D)22@ :=GS MZ_?K!GC(EIW,5LV+#A)H]/GU0;[8&?O5;90JQ4V>%>[ET:8LM\_.SERR4;ET M?;-5!>ZLC,UEB;]V?>:V5LF4-^79V7 PF)[E4A='KU[PM8_VU0M3E9DNU$?O1XM]90R75N2J<-H6P M:O7RZ#Q^]GI,ZWG!;UKM7.>W($F6QGRE/Q?IRZ,!,:0RE91$0>+K6KU164:$ MP,:W0/.H.9(V=G_7U-^S[)!E*9UZ8[+?=5IN7A[-CT2J5K+*RD]F]P\5Y)D0 MO<1DCC_%SJ\=CH]$4KG2Y&$S.,AUX;_E3=!#9\-\\,"&8=@P9+[]03U\E.);E?3%*.Z)X6 X>(3> MJ)%OQ/1&#\GWZYL/O[P35^?_>G!^1'2U& MX5:KI;NZ(:7&0UH\GT;G0%/H*M&9E@R-05\.AU>EL;?"@@M1&KZJ5BO%T-DA MZ!=H)Z0+6G8/Z[A5:I#XSD'1,.X/HJ?U%ZM@C_F>*)"=P.0J[ \N$ WZPVC8 MCZ//_9$C^;W2DA7EH'U?%/ M%S]?79ROY*/BV?]<72YD5:=4D)(X7@YDJ1C9<+*_3'L? SF M\/4)L2UMLA%P,*%NMB",E%9ZO1]_^KO,M\_?GH@$!H5 QR/>=!Q/^_.H"1_6 MN%\ACL6)J-VCOLW&2#7L!'=+%+;W8Z(R[0_P=8D D%N*LB]FZ9!]M_A3DJ^L MK!Q]@,M9-GA$[C"&#=\U#EA[7K0 M&T\1,&#]:?2ALATG;;VSX!PB=N2C\MI8NLK4*M)=V]HZZ&")\L"XHSU(&.-R-KB.O[;L% U!A]#ZVMRB11 M!LQ\5U15.U0PZD,R_M^Z1(P6S*#7 @LH"E.<)M)M:F*>%@5[IFKO^5?\_.1'$\2#2?@G/A,447AG[$ZR[/ )KFY! MD@N%&:?086\R'D;G*0P"R9SP\&Q\?&R-"Y<[KD>2ASSMB<6C6;28=6BP&?:V MX]PM]&YY@XM0HL1S 'U:)3^X SBZ((">+Z;127=G6G':S>36L>WD=IOIA!W: MYTR^FNE<^PSB&MRNOP^J#,;<5]9\T2CM5T31X\NA#7R&0BSX11%V <70_H0H MD^F7R@,A:=4[3$V6"Y)2Y92 *!NZ.AQ[+)GJ!?\M3MG'6\B@/3U$4JD(/WD5 M-)FXX#&E4#?>];W>K*)6OFMC MBF*10:Y3V"#?JP)]XU)3(UZI!C>93EEKM8:Y/74L:@,?#YBTJ_&'P4;[B*9Z MJG *F)8DMF+\/DB3,E+CCTY[-Z"R%N5J4^-Y"ZY-) 8H^+/M21 M['QP^>)% IDJY\-PKZCH9BKG*X M(X4U%<)>^6I LY=;=4U3J!"T.&!^7TTL#S?\10ES=L*UW, S2!4@S)LX+9.O M,I#L2(>4WADKI' P$, B 87&*7P$KB VLCNU@R'_"(A< S5QAZI!!IN^W:O' M'4HJ[Q0U4NBVK3[05=]SY+M7D,/O)/=S/B/ZN:5_Z-*[;Y7>4I_4$QF!^,9D MJ6=,MQT98M"6^@\6Q7<,2%,\?1A.N!@8#.AS/HL^>(F!:4RM*UTT'RWJADK, M)I.FN>+QY*E9G1*R!LTJBX6S2[)], MVM\/MM&CR;Q9-)JV;'<;Q'@435!\04 48.C_2YJ"1-/>;#&)9O-Q-.N-XFDT M'4\.=ZQQ;QR/.[TO+DQGBZB]L#]P>21&X&>3WFA.7D?GTK_IB,HF.KM.\-V0 M/4B3\JR/4XXU=)Y ?2BQ;>V1OU2Y4ZJH&P,N#0/*A/CO8C*QZ7N&\_./85WO M0 -TQUI_QK+44-R71JR1JN$CP#BK MX!AZNR"EU0D\J!Q4LN"Q1/7'8;$NZ@ MZ%L"6 ")IXG8]TGY7M71 B"+D//1J)%(1YU:<7]$)K:5!5Y23-+NA>4N55QB,3]A1R M(JJA$AF&T<$CH$JX?%.VTUEI99LFO)V*[OE%:/)IKD-5'X\0*2"XZC[HF50F M-!.3JJC(K.P#Y.8H=GR3GW'%14Q#ITC2$N77[1^U.1I?.:33'K4:*VWA[+5" MR7/ '@H6E@#B=)32!E+3+QX./H':V@\]MM =?EBE0N4&EU$2G6.H0NY.4GC! M;J.Q8E8K<)7+Z)J(/PX1=RUUQL"B*"Y)E&.F[JN]:Q5Z7#_" M.ZD9"4T,5YFAP:C][F#4D(%0:5-04Q>3<1U3AR6G%#JFK8\]>!Q"'YXHFK*- MP8,=$(Z[5SOZ4#\$522!33N8^R#T'3K+-_9(!&$,/)Q.J-WN">I\,S;[]R>& MK$EN^#B^C/4AAY]_"=MA-%M/-3SC\7#(]34Y^K@?9?Y'YZFV'DW]"9W4 M:@BSU+X8]P M547>V^35(#$GTSH'*3\AL&H-Q+)A1L#-?C/^K(I4N_"X(N5Q,0YU>_)@OR[H M44!;ES3SK&[/=<5=79O =&=.Z?'*43-KN,TE9&D2.+W@0+(F/_'J=!Q-8HC*];FJ\ X](O!KNIY!ZXGY-R2>77YHY0)>3UI0B M-8QLZ+\--8F]X52Y%&#OPT^OC?K;_V:]M]]/D.5ZKXD'7ZT1_,MO4811M/U_#$0]P]( M;OSP(%S;W&ZITJ(=&=PW2[@TH <@;^@!RU;>MDY\\-&O5:NJZU<]']Q/FL=\ M9/I#;W6<==Z-R95=\QM 7+T7I7]-IKG:O&1T[M^M:9?[-Y1^D1:8Y=#[K[!U MT)]-CH3U;_WX/Z79\ILVR,>ER?GG1DF@%2W _94Q9?V'#FA>O7KU/U!+ P04 M " "36VQ2EW[#Z1L& #R#0 &0 'AL+W=OON/!.BUW 8UNRXWC2)$ FF]W.=CZ"27861=$'6KJV MB)5$+4G%<7]]SR4EQYE)@J)%7VQ*),\]]^-<4J=;8W]W!;.G^ZJLW=FP\+XY MF4Q<5G"EW-@T7&-F;6RE/![M9N(:RRH/FZIRDDZGBTFE=#T\/PWOKNWYJ6E] MJ6N^MN3:JE)V]Y9+LST;)L/^Q6>]*;R\F)R?-FK#-^Q_;:XMGB9[E%Q77#MM M:K*\/AM>)"=OY[(^+/BB>>L.QB2>K(SY71[>Y6?#J1#BDC,O" I_=WS)92E MH/%'ASG_:?@.WQ9*<>7IOQ-Y[XX&RZ'E/-:M:7_;+9_Y =#066/RJOSD^M MV9*5U4"307 U[ 8Y74M2;KS%K,8^?_ZI8:N\KC?TGN&<.YUXH,K<).L0WD:$ M]!F$)*4/IO:%HZLZY_PQP 1T]IS2GM/;]$7$'SD;TRP943I-IR_@S?8^S@+> M[#D?KZ\^7]R^^_@SO;^ZN+FZH7]IV6.I@)#.;6O]+ @#=D^1:Q/E: B\:QAISQS: ]7[YGNY8(IOKG&J$ M,1KF, ONO 4KTP3JB)YI+=I*9MHZ* @M\@&&5IR);Z2]Y3XGO/] MF-[5]!.O+*IN%[0Z$E?6NE9E"+XB!*R+AL1&PL7WV@4VR9O1-)64FR %4ECAN)+PRRM=>][86(9[^)XF(MOT MYP;65NRM*O\1(V;Y7>JGH4DOMKK275?\.V MW%3!V&6!8'2AB_J53;^TT(9811=0T7Y8_1%*J58H)+Q)1V ? X/P[J+SF:D: MR+>.@I3@9<;YR.X;RJ&49:[$;<"=#/XN:@_GQN'PLH>D[X-&4 *@XGX@G R1 M3'\Z?/TF>3/X]-AF8#-X-3B&/Z_H.%D.OBBK(4(^G$^/4TH7;P8WA;'^=>@) M#[,T6U*:#&[1%TL@):/I3+#PCZ;[!)JC#7)LD9B=U ':38P-] ^1.P_Q'$-.)?%/XN7:9=$EJ1+5-&77 M=9^%/1JG?QH_01D-]G^FO!CC!O+_H'P,RI?*%;&DI?!C)EU_XHHN@KD*VU"G MH9._D#[2'?8KV?AU#WA4T-)OPW7 K%_+V2*G @QO.33"S'8*!"?IZ[6I7V?" MM.,/?0433]T<)P?W\(KM)GQM. K1B5?R_=O]!\U%O,<_+(]?0Q^4W0U MMD['QT?#R+I_\*8)M_J5\?A&",,"'V5L90'FY43M'\3 _C/O_-]02P,$% M @ DUML4NJ&8/9% P . < !D !X;"]W;W)K&ULI55MC]HX$/XKHUQ5=25$7F"OVQX@P4)5U"L@EKU^J/K!) .QUK%3VX'= M?W]C)V1IM8MTNB^)7V:>YYGQ>#PX*OU@ F\VP81$X0"DRM0V#T.^ M"N& 2,;/!C-H*9WC^?B$_LG' M3K%LF<%;);[QS.;#X": #'>L$G:MCI^QB>?:X:5*&/^%8VU[?1U 6AFKBL:9 M%!1L4A:1P2K[LF\BJGS++10*LC:&=-:&[@0_7>)(Y+=RAW M5M,N)S\[ZD?QNR]7P&0&2YNCABGNR"2#6R6MYMO*YVXEF#2#T!*AO@,<)?"68W,!,9IC]"A"2TE9N3^\U\N8#5W^/%'7P?;XW55$8_+A#W M6^*^)^[_?^*7\GX9?+'!C MBE2R3,J*2%FA*FD-,$$=AY9K/J?+">B2.F!9QAUF!X[H"9DPB@8/^$Q-VX1A MO6/&3>K2T:J B6(Z$]M&:I5EPMF\ MZ46]3A1%P*4O;'\=W_3B]\^+\0>/[W6>98?PLN;"GA.]=G8&:&^+.1,[IUU5 M^DP.\;C([B6W!/>%G#)5>"D;QH],>@$%RW[/$6D@/X,-PUE4'UX(*ODEII=N M4GC6S0K4>]^S#9'2J=:-K5UMGX5QW0V?S>LWY2O3>TZ:!.[(->J^IRZLZSY= M3ZPJ?6_<*DN=U@]S>MI0.P/:WREE3Q-'T#Z6HW\!4$L#!!0 ( )-;;%) M LRP-@4 $0+ 9 >&PO=V]R:W-H965T]D)]7?NF#,P->J%/JT4QA3'_5Z.BM81757UDS@SEJJ MBAJUHRXIJ-I;E[SPWQ6EGT(&FV-'.Y^\1:>V*+E\E2NR_LFK/IL /95AM9 MM<+(H.*B^=.OK1\>"0S\%P3"5B!TO!M%CN4%-?3L1,D=*'L:T>S F>JDD1P7 M-B@+HW"7HYPYF[,[)K8,QE)D3!A%K:^T!PN^$7S-,RH,C!T-IG"9BAPNF=PH M6A<\@Q'> WW2,TC$PO6R5NEYHS1\06D0PI44IM P$3G+GP+TT(*#&>'>C//P M5<0+EG4A"CP(_=!_!2\ZN"5R>-%+;IE\GLQN)S"^GHTGL^5\M)Q>SQ;HENGE M;/IQ.A[-EC"^72ROKR9S7![-+N!RX42SCKGY$%^[NAA>PP(HBE29O2)!Z<1C:0>C%Z9!,A:[W MQ0+/7C&C9"DW]["XUX95FD0HT$])%'II$)$%JW@FA24IU0$VB#V_/R!!Y W3 M@"REH25J2'TO"%(>DGB-XEY\/LS&?J;Q.KTH<26P3I.,Z/1]5FYS1FP+UM> M8V-B7%1*? )9(4L,386QOV-V1[LMCM=.;/BJ9&XJ';L6;'^5J-W%R\1H5GP; M/U=VTV.L#7B)FY>Y"Y;84U[4/(EAD[JN1?C/!WP$??!3WT!H&- M>>2%<4+:H";$\0R/B77\@Z4D[?LD&L:MK\MOX1U.C+&P_R0.GGLE>X\Z&ZP+ M&]>_Z2;KFB;GL'IH$4=-9_1PO.DOKZC:<*$Q7FL4];MIW '5]&S-Q,C:]4DK M:; (N6&!;2Y3]@#NKZ4T^XE5<&B&PO=V]R:W-H965TH>)E.Y+;2?\)*[)'K>H M[^N--)$_4'):(5=4<)!83+U9>#,?VWR7\)5BJX[&8"O9"?%@@]M\Z@76$#+, MM"40\WK$!3)F0<;&SY[I#5M:X?'X0/_@:C>U[(C"A6#?:*[+J3?Q(,>"-$RG MHEUC7\^5Y66"*?>$MLN-KCW(&J5%U8N-@XKR[DV>^G,X$DR"$X*H%T3.=[>1 M<[DDFB2Q%"U(FVUH=N!*=6ICCG+[4;9:FE5J=#K9ED0BI%@W,BM-=2KVM<': M13_K$?,.$9U A!'<":Y+!2N>8_XWP#=^!E/1P=0\.DM<8G8)H_ "HB *SO!& M0Y$CQQN=*G(]2U>0KC;WZ6(]VZZV\'VV4UJ:EOAQ!C\>\&.''_\O_J4S/(_X M]/G+"L(QO'DUB<+P/?SK^);#QX8]FR,)KR] -!+F@L@<1 %+*DV/"ZF -+H4 MDO["' B\-OW"F&U]]5*1_E'35"CW[FHHR$3#==<_P^QP^V9=T_U)[Z[N'9%[ MRA4P+(PTN'QWY8'LKD,7:%&[%MP);1K:#4OS!T%I$\QZ(80^!':#X9^4_ 90 M2P,$% @ DUML4D9)9:\T! $@D !D !X;"]W;W)K&ULC59-;^,V$/TK Q?HR?!7DC;8.@:2;-K-8;/!)FT.10^T-+*( MI4@M2=GQO]\WI.PXK1/T8HO4S..;QS>DYAOGOX6:.=)S8VRX&-0QMA_&XU#4 MW*@P#0:-M_E?/O0X'">>3-Q)F?<(L\KS5R(N+:V>CMBNVA>8P'T= RHMQT:=?Y?39&^G3&7T&0AWH MQI9T&Q'Z&KV+N)'+D9T,AW2;#*;O(-WLB_P).&=O%7@E[O'V[L_ M;NZN;V\>Z._+98@>5OCG'>C3/?1I@C[]/]#'M'L__>[+XPU-S^CGG\YGT^EO M])KI$Y/R3"U[[4I=*&.VI,1O;$ME(VD+.X0"=E:671?(J$WH= Q#*HS232!E M2RIU:+O(0<)CS>1\J2V:CPK7^8!Q1$DUAHB#_2/[ M0(6RUD5:@IAGT(I:*AQ J/(V*V&EI\T1'2@ZJE2AC8Y8F8(RG!&Q:.M=V14Q:QO8KW7! M$'P#GI$B#BL1NN3&ZFI+#LL@1?FH)4C;PG10?]6W-6H=9NU NY7*L' OXTZ, M'5LPU#9$%-POE[59>8;^2*N=*?/&':Z)*-\8*4FME.23<2%@7GD=A BV62K# MML%&8-")FEZDBUO,5EY.AK21T#!#QVV;Y<@F&]%C8I>H2&0 ]2T9W>B8"(DH MJ4H4M:EU44.ZO4:P=?) PA)OB;$:5?(P":Q,XT!:F8W:AHR9_:,:U]G86R=G M0RGT1$C&@2&"7HJ5'1H&.N+E!GV:4%!#91PT[4&AN+Y@):B[;UQPO-[I&\SNKO0(';>DL5VA==TV\TLM?. MK($+[5A!NK2O16>4?R$RHD]IU7Q$#!&SW>V#Z*@K &/ZL*B#(I*/KS#9P'T;7IUENZB&9+CS4^6MA+ -Y7#A[H![+ M_C-H\0-02P,$% @ DUML4A5:]&ULI5;;;N,V$'WG5Q!N4=B &DG4?6L;<&ZMBXV3.DZ+ MHN@#(]&1L!3I):EU\O<=4K;7NYL8*/;!XR$YY\R%E]%X*]4'73-F\'/+A9X, M:F,V[WQ?ES5KJ3Z3&R9@92U52PT,U9.O-XK1RH%:[I,@2/V6-F(P';NY.S4= MR\[P1K [A777ME2]G#,NMY-!.-A/+)NGVM@)?SK>T"=VS\S#YD[!R#^P5$W+ MA&ZDP(JM)X-9^.X\MO;.X,^&;?61CFTFCU)^L(-Y-1D$-B#&66DL X6_3^R" M<6Z)((R/.\[!P:4%'NM[]FN7.^3R2#6[D/ROIC+U9) /<,76M.-F*;>_L5T^ MB>4K)==.XFUOFR0#7';:R'8'A@C:1O3_]'E7AR- 'KP!(#L <7'WCER4E]30 MZ5C)+5;6&MBLXE)U: BN$793[HV"U09P9OI'1Y5ABK_@ZT9043:4X[GH-]M6 M;?@@:%LO(,1Z&'24""$WS1(?W(\45OI?\P6ZZNEN__QM?SQ6QQ,9^]Q_/%]>WR M9K::WRX@_<7LX7*^NKH?7"G^:?7&[ MNL)ABG_Z(2=A^ O^/VD.YP*;6G::BDI[F#V7;&/PAL%-KJEBF+:R$P9K/$)V M$] -564->X)^[P3#48#NP9ZUCP" 6S83@_12AK*T9)]8J)C&OV(PM2+26&5 MQ"N*%!02>#EPNJ4\(Z!D@1>&&?I52:WAX*NG1J#,(WD$,@ICE'MID8!>D 3! MP2!@.Q>E;!E>*]EB>+V4.\D:9> J].(L0@3, M"3/$'6=GP#N[6 M'AM:A".(]]@L@Z*$Q7>5.?:*+.W+'$!VH! O*L)=F1-;YJ3P2!I]7>: I"B% M,A60?Q*D,!/F(2*I%P5D7^8A!\CHFVHG60"_ @VS)(.CDH#?(DJ/Z] #40S; M%ZU[UG25UA@':]JUO#>_OAFV?"]82(,9&'&X2PR7E)<=[\'PMKJY=<9AJS"CL M[F?28T"CK0_[)$.P5:-+Q0SC+V>OO4+^42=HF7IR_4[CT@;6-X7#[*&ESOI. M\MF\[\&PO=V]R:W-H M965TGIH_N;W%9W?GS.W[UO?GQ>=VUI*_.^R5RWV>3-_H4IZ]T/=\[N^"\^ MV-6ZI2_N__A\FZ_,E6D_;=\W^.M^F&5A-Z9RMJZRQBQ_N'-^]H\7L\_:?1#7U/\Q5UZ?C_V4Z> M?82'B\ZU]48'@X*-K>3?_(LR(AGPY/3(@)D.F#'=LA!3^3)O\Q^?-_4N:^AI MS$8?>*L\&L39BD[EJFWPJ\6X]L<7G<,WSF4OC2L:NV56G5>+[,JN*KNT15ZU MV7E1U%W5VFJ5O:]+6UCCLKO^T[WG]UL00M/=+W31%[+H[,BB9[/L35VU:Y>] MJA9FT9_@/G80MC'SVW@Q&YWQI2FFV8.S238[G9V.S/<@L.4!S_?@&%L^75V^ M?75UE;U\=77QX?+]Q\MW;[/SMR^SJ\N?WEZ^OKPX?_LQ.[^X>/?I[HJ^^_SN6L;R-K_C%#Q,%#QD*EX>(2*]XVM"KLMP>YZF5W4E0// M%SF=T1#3__!DV<>UR8KPC5ED2UOE>#HO,]?B"ZAAZS*,+[N%R5H\G8M(R%S[ MN6G>070*AWF;;=W(K#G$R.*1W;HNR_U)O:LPL^OFSBYLWD!TIMEE1;,YDU5U M"\+:FB?_*BD3'574FVU>D3CF#?U5LK)?FW)/%L,T#<9CSMQE?_N/)[/9Z;.$ MU E_=?;,_[0SA]]T\9FZ\5_673/UWYZ7("K1$UNUICD1HO:11<0'R$3E!02'^'Q.8; MI\A^-1F< L[8$,TY.%"M2@.&TP/Y'!^=CFG7>>NEQO')XE_P:X)_<4CUEI\B M]FSRJEN"/1V.$1*UABW-X&4*R];?D1>H5A/,Y;;>G-,HTS9U6:_V&=C6"6_A MJ'BEJS3X;N+$1WCX*O'TTRIA/CDE]Y5H+YV#<$&N_ M;0960^QZFZL"X-ZHZ)X?UNY(V AXTJ04 QY=-O<$DM4LX."9N MCX.X/1X5EHOD5$M*?2 Q,VQ!JUKXKK3+)!T^)/0XUJ:;-E5"Y)?V%[\)W9T@D2_3E>PAD84BJS4)U&*MV MY,C(51!;1H3I21"F)Z/"](8YP+;ZRA1T,';8@/V!:;+SK"R5Q^H-PD_LI4OH M.;A-.HEOKG-;TF,GL& G#JP19L4#/F0R6R/8BV(_P._>6;KD,,?.<:&!C_*!M MHO:P$?1FJVAETS!+J[Q9D+TB!H+"\YM/GWDFDX,B(RL4?!,U-XY)Z2EJ&.??Q2Q4AJ.1>H.-O@Z;EB?A%#&;A;HM M#!T2FQ+*C5;9;UU-6U*K@0<+D0P:K0>P;>IKV$<<(^DOQI/)BY91W6O#H3#$ ME2P5G>Q&O$6.J7 88APM0A5(YIZ<6;7 L=*9YWZ%!H?+P3J.;T_$)6XM[GW" MW($UANB+%M )=.S1NN,\G3 GDOUC-Q1OD3IE6+Q2Q:+@5%,&4=&$ZY!H\!JS MEJZ^[51P,##,MM7(+>R-CX?F1\P])GD<<&NH+_H219J^"V2 _08/-.R9Z,,) M0ID*2KDARP">6TQD&SXR^+&L+K!&0Y+X.J?PT05'Z/V,3$S$AJF9F<2"X162 M' IN8 4W23$-S+^J=:LQV&YMBW6Z$2*(@)=KELN*=.787!)\#7\(.4X.$C$ MDFS"2-E@I6F/7EG4JEPB'@2S"O(?]&NRJZ^?+CB9R)'$"D.LG="I)@>(2*19 MD0DHF3J6#5B[*(5QV]8Q\3T]-3,K8TU7?9@]EC_F(L,'P:?/G342=\B7U4$,XC'GQT\' HF,R8I9_) M.G"(O? Q.40!(L_VA2Q!PZP3^\*2#3(C]PPKC3+TC:N/;%("^53W;79 MW=>7K]_=HPQOS?'W%@80IE>\B>B@Y$@XNQ4R_BHHNE7X80)#"VMD7(%8P4Q$ M&UA%EZK,.&JC1AR4#)$^&FR=G4:,[73TB,X]$O#!% ;QWURCG'/2)7;[I$\O MZV[>+KO2PVV#QWG;E6CZCTT.2_.6D95D99A;-C,X@HI%&8>AE@,\)&T4W-$( MB^B$*@) 2TI[&LE9YPH;LO$6>P%S3M&J.BJ?E=$1U\F$/CWWJ0)-=O5?#T@9 MWB"ULB>ONTH2?+=WT&V:CW)W\GN\'0&*FKB=N5JAA-4B$;6 M<"S8Y-6*R!&72_+TA;,ST/S]7XG(QW\5(=% )M_S]&32=(<',9/#@$GA!%)2>-INF] ^$ 3[4TNVI9RGGQA.HF7[02*A9[IKL5;0,T3> M,(^487-:W5$BH::Z'6:?9&K1+*H5H.05OULL!9N(L(2M9&D_$[_8D.[B>EW% M4]%!"P3'>:(/31:=;$,B5(7X0F)(]L -L D^5T3%F2.D3R2E\J@?F,WTL TA MJG#&I6TRF\T3DY,@MK- M'+-XK'U"% 8W?DS&0)]@A=^^G>G7K.0-4Q>>%VNS\ ,B'MN8%#"@ASQ4$](+ M07J"KDN?^7I\8A3YQ;WMOL#=HGI'8! MC0E*&W^6@R-;G.T0HYB3>KFDR'! $#@RHO1E;;?"1?4".]BNM52%-!>'"VT; MS77(V\MSC76?I]G5(1$>[QZ2!&(]T07W0Y1E-#7'ABE;+.$Y'"-KF*$STP_P M#JKOF&XL?#I+*F!GHSZ3L*Z(1/]LH#X<&U]NR)<)GCCHBO_\M%G_H3(\9-.' M^G$7Q5'37GDN7^ TY&R:_DCQ\ZS4: N C=G8:[7*B MP(+(CW,PS5&T J9BV'Q^=%F=8-E50S)#!-Y81-1\81C4EV.>&W@ GSM5 ?VE M9+Q$1,K6EWP1\NTI#$\R,HW78QA)=3>JP9YPFB&1H[AO^C5J>.<,J93P0E70 M^'.8]'T\V39'<'&V1Y@!=?[Y^!'!W\'G__X--#% ) $TBSF?42!O25Z2?^@J M:'O)(0"+"#O- 4JY!.TI_8FS>P:>V**!;X@+& QC6Z7I!?'%2AVPW-PH?&<)I"+.=C"\XYQ).,ST06]U--BO&] MG!5JJMDO^7B6L(2YVB&.;;E4E^:?&OKP]\3S6"OH*MOR&$TJS!$T8^4W(X$J MXBD<3>)8LW?533_+6CD[/7LJ?]&GL=.)=>ZS!^-5X;P]:M]N-3+S_R:0;6E6 M><]6KEY]3IJFY M MG3,@5#DC!(0*'$QT.W1H4[%NC/QHOJ/]XNF2YCSB7/DIC7QEQ;L]/()T%,V R3L6O9;J0Q M0QHS$D0IM9+@H _@R)Y!(EIW"X."@)W<0J=L[TK2N#;+1%BD 3>\B,.4#6^IL:QP)B M1?YLO)[^3LPKG2Z9\F&!^;8I2#LBQHED+:?MD'[']Y]NJ=G/#ET'V%(4LF=*-;LZR CC_+B%&(? MKY%,,ZSO12SX!1[%9)(H$)E@1N(_10H\"A&]:8R_>F3TYXV%IA#QRY"0 .:( MB7M) _]^@],IZ3?*W?VZ15H)RCPQP9<<+!_<7MR8P!*'K$[6AP]E1%I^L!SK M4V@$_72\:Y6-1P+O(@UD23R"#FDS.TKA?5="[6&M/@,F&BF8IK!B#01:YY!-SI5@0@9- M&B.*<2G2ES1-M(W)!2SV%$H34K*0H^TO/)\\F02]"(E#%,)-F2(GM@G 0B.Q MDJL)4=ES,5-J10G@$K;"@(2J,EN"$)MK@*PB=,Q'#HN+#WK48""F-Q[<0 2O MWV(/E,K+7Z&\Y[*[9KJ:4JUULZ%,'ULA3R+.*,TIV'G?2TZBU[*B]IVTU-<0 MRWW:K;$0S*V4R$ Y'G:,W0;Y'M!K1NN]1&&K@GV(15IF9S/%\T)[@OJXB">2 M-1H-'V(+T=EX!] 'Z40A=)9(/];8]^VS9/X[RJ6Q4P9Y@RGI(^B*(HC%U\(T MMS!Z;- C!J**L"3<#$S'F%3>!57!L>*D'+YR2RTOY]FVMMP<%\M<%+$P0'''?R9CZA)%/DMZ-1(R/"VM[%":*3!KO8\A>QF0$2^NK!\46Z$W87 M@D>FX&2?+2D )!FZW_2S1)CY444VF3S?\M34I<2FA+Z0?B&ES[4WTQ&*%W9) M-D]QI61![NOB,UA(D;-W+%[EDL<*0H,:FVM37J^4B>#12-R39SP):4D*P"HQ MTEXP\0U4!WSD[4 10V67]WJ38K]36UW7)6O?AJ"V;6F.RE:[WVIY(:V?%.TAA(?0&Q+Y"+""[[A".E.)BQN2.+4"+8#YSH6./25.@%:R8^TR'*L7J7 M3$U-)7@VAN%D=!GB\'(ZS=ZGU9+(XF1=;CP2$;%]P0X&._9+"A)=4Q[\C'YJ M#-4BCYU1U+*NA2W\G6T?L6_;M1Z>"&8BEZ8W2;0\UN.-Q" %[-W)RPNV>,V2 MR670&*&K+(5,4.3,>SJ*#D'BHE/C].!EYHJ\2GE(,U#>(V!H@)WFG%(++A"L M J-)4ALN\>=.A;&BB? MV#$OX'Z](3UJ22+17P]=O-_N66@5@V!\G"43DU>F[ASWAG-])\#;KMMH?_(< MEGMIV\3F4[:Z@LUZ3Q,SKOX*DKRPOC52@P]M:I5S"J%L5T57>,SLD$L+'+G9 M.!GT)G:+$.Q$()^/4"9)]U+?-GF[?=0NI?%3OO@7^*4Q>;VQ+G3-^D;D&#/X M!$J"(NGX[;7"Q_)O;/Y"9KHSNJ&)0-EZ7B$GG41,0;M0YJ;=4=<+>^E=XDCS M2"4A:AD'BV(@.+R(GJ=2']\3B2UUH,HVL.#A#+Z0=\CJT; OMO*>C??ROM9N MD0O.F8L]E:\JI\=S+N6L<%M@,"#\$_._#NW2$?NH%J&UF>0K(, >EN.:G*"B M5+A+FUPX[/,1I@#?94UJ4OC%11FI*TM+^\F/4X]N'6;!HG_.I,2P.]:=Q!X4 MY*\,5&F9GTJVTIJ.WTU./51032Q)QW@"2X3P([:)]W?;JQ#>7"D76Z +86A8 M&CDL=5S2YI,V?>C ^E[J+#L9. M+?;@VEQ8.=J%R59\0'S\Y17_:SC?Y&K+S3;-PRK#8;$Z8)43;;O2LHF>4/^ MV%HE?F+Y=5(P_CN&S(^-38?X2@G&G&F'%@ABU'U4\6/;]=EXP_0'2'3>%-)1 M]C+>@1G4\3\V5=;[(;UG<_?#W_+-]MG+>Q)WI:7_$-_7RW8G3:!AG'2%AL2; M+6DL_+T?&9E4 D-A7/KWPFS2\^&=WNX1QL4D'(U?=JM"/%RKR MZK>8&J8X-K \\\4"$K0=02>A,BE5Z255X5P'I@D9W+W:V[:':3##7H4Z<7?< MI* YEW(YV7R8I%6">]N$E+%.M*3KAOV%#ZV;\HM19[% \&V]1/%]<4U<^ MF[L+(FU0WK]Q#NECTUHTA?[) W[_";O3\8'EW)CRW8/'9U'7M=3VW:A!D97 MAEK=:L9J&R,^+4!B'*(/AO"CW(J=&;/Q%HI+\1$?\R_#=9)O&-ZKRR(.\G+P6$M;1EOE<7MS_0'@G^47&0KBX$_TWS:[:6>!%I M_N,@PX9@R58J[FR\-_2N T8PAO;O;UU,*.(7SP567G/EOZF[U1IARJINM1&% ML@)0K36A"/8=\(0G4TYN;;SOA>2^S1T_0 95K3G5-!R(H?H])@E:1F+_U-;PTI6];W7BF3J\++TE]8 MI=7(VS(GI*+M"\QBWT(8+C_['%0DS*=/L?.#,VK:0:[AXW!IC^I*GL*T5,-B MT 44@ZF3:BKU4VL?LK_0JBF!!LJ+<,L=@XX4%).,1!1BHC4_]I2QR#\T5\I! MW[SGH+59>SCU>-)UKT.B)4=%F#D7 O-W+]5+DT M1"UG[:'3P-\B^U5J_\ZIX9*PK]?)>8R-W/MN?!-UO/&5M&E&\*ST&?6U%LC, M2K(P0_Z9@.\QIQC[J6;C35%O8;Y4CMY#-Z_68/R@<_SV:;(7"+6+Y/X+"0P# M;D7F^ 'K]"J97.E:6&S-7Y[P[<>B[3MN1B,#KEESU7%#DUQ&VW#E(Z>KYVE+ M]0U1G69O^\0L;,F+_]^3(U@@?TQNZ=Z.R(MCXY*FJ/ZNQ:99Y[KH9&.%FK-S M7]F>9'1121$]RIT;RV91'J*NL^./R&*T-4$/M$M.RDSRHU2[2 O,9EO6>V-T MYMA25^85W9%%UE067:E-E)X'5!EW'5]8I%'^QLY1EDA&I(A #_\U&HDJM%3 M7_J.+@%ZJ+\%[NV$GX+"3?_RX FBOKE4ARYJOO+F_@**X"K7]"X)**4/#AG0 M+GH_)="$8,"AO$VFO5!\Q<1D*QW,;4QRHY3[&F+%Y"+M9>EC4(.D^?5'QETE M*,[?N9F8 K#SVY"HJE.S]5H>@5+T0#S*F_.=H>-WH$ T#D;.)"E2RYT7.+38\:X-@R.1MO?!PZK$$# M_.W3_%L<_RV.*HZQ!74VWH+*-]E_\16GB.Y?QA<<#$KGGY[UZ$7T&"*G+\Q@ M>(V=2/]E'I.AZV\3W\"@W87A$0V')P3W2%]#4M#9A/D:&K\38Y&T/27.KYB-) MCZNX7-]G&8!T*0Y(-NB[9VO.77S8ZI!7EGG3@[JY1*8_4,>.;3O!C$*O#^T@ M)D&]'.BPW9?!PP [W7K;=N.QS%%-B*VULZ^\JHJB@Y,7S$PR88:KK\,M5>-3 M#?=D'YM?W@/&/\I)AGY,ZOC3H*J'MZ\(AW,#D=X 5MZ_2YA7,7,<:)%UQTI; MO3927EX:-?KW([C*M2JM+KG8OB&H#,D& MT;\B^5C$ ':K ,B!!AWR*KX/H7^G/-.P]$69%Y]/KHHU70%'BKDPI:2">I?, MPZ74@5ZTZG.6QI+6N?2M 3$JOGG"_5:24&1.9V(<)G95)LC6X,1%*E<>[;CU M*?OR6;[A!IV*+:B,)SLB2X1U>VMI+\Z5D6N4V>-;OXQ/K(S>06.C+R\+E?=V MCO,Q)6&TP7X6>RIG7^N&E"7?YTV[_VHE?7RR83MP?(4;M^&=(<2B2:\G>:R= MHH3X_D+BH8"4=%KSFE[\LN$K0*(X1MO3D"46G.10"2LOXFL]!"LI<@U\N)F% M9V$L"^I)KSSP'5"]MQ&RA-[BIO\[[G@,M67N!50AZ;V*48HJ#T_E#1>'PV(* MZG._@<'?/TT+,DQUH]>(JUH+=6$>K=",BT_LS9B-]T[0BQ+ZKSQ-BJO#(O1G M)J16\]=FWG1TXPG;>"1=Y3'@2L9=*3;MLA=\LG=?GU^]N.=!A,KL?'=V'++J MH+C\^HOSJT\\_\GI;.+OC=R=WQ-HE$ ^Q /^ZX_UUA;9DX>S>Q/DT:HP,HA5+48\ZD1M9S?#;0O6.^0&<'J7RQ+>,Q!X)_YX"F*?TU0N,KVAM M!,30;\'LQO?F^(VQW2_6OB\LW@-@UMR6+YIY2:,?7P,016A[H0(%@_[2X:"9 MYDJ@C24^4 M'DG@WM93$;JS!Y/LC70)^;:."[E$_G/(U8:3C+>UAN[$J-Y;+.NJ[K1<'>OL MOF# SK;?DN8]_8!#'>+78$QZ/WG3,J+D%;]/FM\'6;7RTN7P;7AG];F\J3D^ M+B^\?@/%HH2U-$L,/9T^1D3:R#NDY8^VWO)[F^=UBY";*0JF:&IV@9ZKY#ESJ@L@C@,^T')N/ G M([>V4).1K$S!!2X4Z*HLF7J^PT(>QG[DGQ:6?+LS=B&8C/9LBX]HONX7BF9! M@Y+S$H7F4H#"S=B_C89W?;O?;?C&\:!?C,%&LI;RNYW,\[$?6H>PP,Q8!$9_ M3SC%HK! Y,9?1TR_H;2&+\(]!?#2(G=\UD?/R,S-L M,E+R ,KN)C0[<*$Z:W*."RO*HU'TEI.=F2SQ"46%L,1,;@5WF?H%5G+/,^B' M??BX8NL"]:=18(C-V@39$?FN1HXO($8'BL2QWDA@JX3O0>E6LED2'(=<&WS.9H;)X]FV=*=C3P/LX%[925 M9B+7G[QCU6AO@2I#82SC:0W:7IXLR3=7;W\3I7PB.D.=#E<0==*H!S%\H''< M">,!)/#AG!$S%.]>LK2,-.%*40A:$# M[@TZ<3^IIRTB]QJ1>^\5.:."5_2A :8U&I)$Y#_7"L[6O* 6P[-JMY.\5KL6 MFA*AG=#OI1V^U?&EVJZKWJZ0]-/7X!W*=U94ME8H\9+*A_@KI:S0]0[ORHO= M;WK&!6HPEC^Y4JR_;F2^9\_TF7>&O7Y*S^1F<,F8/KA(9#DFRJ\@ MZ79MV:2]%E'[C:C]]XIJ.X25LB(/;046%"7?<')AHV0):]QR(:PHYS(.1IX< M/*=YNP\7-?^?/!IZEQK_39FXRG#%^BT%XT2+PX2KR5 M-*RP./VNK9QN>D[VX,712+6V=1< 33X2;7U*-JO-'>.V/EI_;J\O*%^8HA U M%+@AT_ ZI8Y5]:%?3XS&PO=V]R:W-H965TB+)1T=?>>B\TER?RGD@YISKO&/(B_5:6NN]>+$ M=54RYP53QV+!2YB9"EDP#4,Y<]5"B+2N=9 MR6\D5E51,/ETQG.Q/&V1UEIPF\WFV@C<07_!9GS,]?WB1L+(;5#2K."ERD2) M)9^>MH;DY"PT^E;A6\:7:JN/3203(1[,X#(];7G&(9[S1!L$!LTC/^=Y;H# MC>\KS%9CTBS<[J_1O]K8(98)4_QZV B M%GK^MT63BJE1;%:#!X465FW[,FV: O MQ1)+HPUHIF-#M:O!N:PTFS+6$F8S6*<'UTP^<,TF.<=CGE0RTQE7N'UG)*K3 M=S78,)INLL([J_'H'CQ"\;4H]5SA49GR]#F "\XU'M*UAV?T(.(7GAQCGSB8 M>M0[@.C\_O;R[O+T1C_-9PH+:%&_CY@(FA, M!-9$L,?$&*B35I!2,<4[$[PKKX17VX(KH117Z"O+)/[&\HJC\5Q( M?73'98'NC\?'>"8>N2Q-+-89X'^9/&$QR;,9,W15Z!,*G)ATH?4C^/SZ2TP) M_5R+0Q]\D LAF>; P8E^E@$3')<:$I# O#(1IGPA5*:1[Q#B(TH:.!#X 1J" MNQK8G3R \QLH1'P?;72-YO7.I%L-\ADK&Z4V47Y"L>-%/K1A_,S]V"%@_TJ4 MLW>FH^N$M =M]#P=(.Z%'TY'KQNBB* VP1U(K.>'>W-!'3_HHB!L3(.@1]'H M>Y7II[7B$PIHH]"&PZ"#?.\G2O]3889.UVX"I<]V L1Q_,&=((X7A]NU!N-H?UTZ 3 CV-(.H*;>59LT,F5) MNR]JDT(M?: V(ZC-P%#5L[N&.K7L/_#4\P+8]BV>>B0^4)LA5"X):],P"GJ[ M"C-JX(+X/45)'>*%)B+S:5,;G1%&\8'+(FPNB_#-E\6+2L4W)AF0XEWWQ6'4 M@&)[AQO4<[B0S:6!@"S[+&!XXZ K#I*[.2MQ\0\L?BHUWR*K1UNX^&41R\+R<$B!583NWV?1>]W*W';L'ES#[I M%3QGJE+7[]Y&VOPU#.O'\D:]_N4 MV9P0>"<3V&I=]P%3LGZ&5\/M%C8I_-$ M:'B(V^X<_GRX- HP/Q5"KP?&0/,O-?@74$L#!!0 ( )-;;%+9<98S>@, M %D( 9 >&PO=V]R:W-H965TZE^?N'I*>[*7ZIG, 0^ZK4NBIGQNS>QL$.LFAXOI$[D#@ETRJBAL4U3;0 M.P4\=4Y5&; P/ TJ7@A_-G&Z:S6;R-J4A8!K171=55P]+*"4^ZE/_8/BIMCF MQBJ"V63'M[ &\VEWK5 *NBAI48'0A11$03;UY_3M8F3MG<'G O;Z:$UL)1LI MOUEAE4[]T *"$A)C(W!\W<$%E*4-A##^;F/Z74KK>+P^1/_=U8ZU;+B&"UG^ M4:0FG_ICGZ20\;HT-W+_'MIZ',!$EMH]R;ZU#7V2U-K(JG5&!%4AFC>_;_OP M,PZL=6 .=Y/(H7S'#9]-E-P39:TQFEVX4ITW@BN$'0G)"(OB8L9&%/O*@K.'+QHI<*_GAY?;-\O[Q:KSXOR>H*Y27Y M.M]HHY A?_9DB+L,LRS#*D'9$9,2C=0%)RK8NL2+CC8J9D19YO M_0>I]9 8299C4?>(*)DZ%$:>S0:>P,V=E+H?<1Y*)(\:7WA6H_IHFB$S\85 MI=""B2BS.A?@E MHT!_AKGY<=XL)#CF'V=^F-C%86*W1Q.;'TULWG6>[?,@ILT;57[B576[NG2LC0-3PY0UJIYB)K!"-W[O+8 M2(-7D5OF>/>#L@;X/9/2' 2;H/LW,?L'4$L#!!0 ( )-;;%*Y>0)LK , M -D) 9 >&PO=V]R:W-H965T4[L-J'TQR2*PF=L9VH/S[/78@0!>JZ3ZNA(B/ M?#GJAUP3C<2Z+JLJ1R?0N%6/7=P-U./+ LUV;" M&_0JFL$4]*RZERAY+4K*2N"*"4XD+/KN,+BYC8V^57ABL%)[8V(BF0OQ;(1Q MVG=]0P@*2+1!H/A9PAT4A0%"&C\VF&[KTACNC[?HGVWL&,N<*K@3Q9\LU7G? MO7))"@M:%_I!K+[ )IYS@Y>(0ME_LMKH^BY):J5%N3%&!B7CS9>^;/+P,P;A MQB"TO!M'EN4GJNF@)\6*2*.-:&9@0[762(YQ4Y2IEKC*T$X//E,FR1,M:B 3 MH*J6@!G7BIP]TGD!ZF//T^C%Z'K)!O&V00Q/( 8AF0BNBW' M<,OQ-GP3\1,D71(%'1+ZH?\&7M3&'%F\Z%3,P_$#>1I^G8W(9#2DISR#,S$BLJ4W&%*#35UK"!O,WG, ;T6N/T8ST@EQ9*EZ([Q9DLWNRM# M)V9Y86@O+>WR-6U12VR]EKK:HZZ(6!"L$Y1SD&VM;$BO9H-KW(F):+QI032R MT[D$^*V )13[!'(&DLHD7W>=4]FD^HC7F4)LYVS,$5C4"DFHC\XM+2A/X-_J MSO=::$C)O62)30L9VI-B4Z4F]'&*[EA""S)4RDR>?;5L V>*Y6(+7.*:?,-@ M)/DV5R"7-D5C7M4[Y?! ><;%*<7(F1Q+\XTSZTZ[)!-+D-S$;_.+1R=/UD3, M"Y;9:BKG%R<(.W%\A8-?/UR%0?C[L:D[(2LAJ08\Q>;ZH)P(FX#4EJH&6]P4 M*J&8=BX[P<5UBW$HV=S@(9D\8SYW>$[8.0\O6JU#:?2C9GJ]U5X[D6]^V]7M M]U%HS/W1YL.(PK 37$8X0,M&BJ.]0'^^>; YW],\P?7_M7FB.'C=/(=3_ZUY MXD[@QRW&H72J>:+.]>6N(0ZEU\V#_8V_=S:/WXDO3+O8S6&DX'P7Z+&;P-N[ M;DN0F7U4*)*(FNOFYFUGVW?+L+FN=^K-HP=+E3&N2 $+-/6[E^&ULG5;);N,X M$+WS*P@C =* +5.;ER Q8"?I[ARR(,FD#X,YT%+9)B*):I*RX_GZ*5*VXIEV MA,9<+"Y5KXJOBL^\V$CUIE< AK[G6:$O.RMCRO-^7R ;S1_FH<-9O4%*10Z&%+*B"Q65GZI_/AM;>&;P*V.B# M,;4GF4OY9B>WZ66'V80@@\18!(Z?-5Q!EED@3./G#K/3A+2.A^,]^E=W=CS+ MG&NXDMD/D9K596?4H2DL>)69)[GY#KOSQ!8OD9EVOW13V\9AAR:5-C+?.6,& MN2CJ+W_?\7#@,&*?. 0[A\#E70=R65YSPR<72FZHLM:(9@?NJ,X;DQ.%+^#P#_>6B;S",->XG.\A9#1E\ ND' M]$X69J7I39%"^F^ /N;7)!GLDYP%K8C7D'@T]+LT8 %KP0N;0X<.+_SLT-^G M3S>]V?3YYII>/=P]WMP_3U]N'^[IG].Y-@H[Y:^6*%$3)7)1HL^BX 5*JPSH MPX(^&YF\T8?243NUG2C,]ABU[9 O*Z +F>%-$L62"DWY_C91N:@[''&I**AV M :4+J-%'.>[.R<-NY:$RVO B11SRP[4N-L!T#0IO(KUY!Y4(#?11B01_05'7 M)^3 JTNQ*I#/<:^NC#\F<<"ZL1^2$^('7A"3;XH7B$O"4=>/&0E&7AB0/7A* MSOQPW(T'(?U"AM[0;T4/&(G\<==GS*+'7M V38]9AZ,HRX+!M8\])C?4M"X M*6C\_PKZRK.JOC53C?6H*3Y6W59\J[_GNN0)7'908#6H-70FJ#W_*>:R9M56 MV6 _F(WL;8$K6H(2,J5@+]VO?'3I!FAE1";^QFWKN.!"T36F#K9Y9*5H(O-< M-KU3PZ? M>LBJ1*'9':]78LM9@URFD)V3NI2VN9Z$?NLM% B&T!^#%68FR;,BZ)3VJ/, MB]DI\;W!T,[P.S[%'BE1_C'73"RL([5,:1)[*%(]&GMQC&/&W#AB'^9KF7'+ ME=F2>.Q%H47$P<@_)7'DA2,WC[S1\)13SA!_FUP[J!VZ2H M/<+O2Y'Z"*JMBFC718>K+I6J$.90J6S:ZSKMX[;$:9+^5;Z<[-!KV[A?+>'V M>L(A'C='Q&LPZ@8LLG(Q],+QAW:Q[I#5VA62FD9RAHM1S%"W_+$7C-NAL7\1 M.HHM=.![4=Q2WF%3WF%[>7=,8W4?\>_;\'=Z\[.R?!_Y)[=-76@X5N+V*&>W M5@)DI;%>^LO!5=S'=.7LS5W(Y# DU"$MF5U_Y.-W//;);8%&*%CH.8<"%K;> M"O"B62V1GZ*A]] /''M'5;Q_\/K)02W=&T\C1%68^B'4K#;/R&G]>OHPK]^@ M=UPM!6I7!@MT9=X0!5O5[[IZ8F3IWE)S:?!EYH8K? J#L@:XOY#2["&PO=V]R:W-H965T M]K*7Q';N?G_.]F6RD^J[SA$-/%:ET%,_-Z8^ M"P*=Y%AQ?2QK%/0EDZKBAJ9J&^A:(4]=4E4&+ Q/@HH7PI]-W-I*S2:R,64A M<*5 -U7%U<\%EG(W]2/_:>&NV.;&+@2S2,KR\AZN;\]OK):R6=["^G-\MX>M\HXVB$_+M%8:X9X@=0_P"PYHN3MJ4 M"#*#/\J[X+I(@(L4+HJR,9BV!==_*_3K)/VH MTHY*N[W=(3VXADR6="'UF7=P)<#DLM$4JP$?$ZR-0VCC>24;8CCTGJUXG]U9 M)\CY RJZNIT+N&V,-@13B*WW?)KF#L'[@ERUIP(B%@RBP&[HF>=*XKWUAD>C MF'FC(Q8-:18>CT//U8CN+&"6T26V)HF^HKN,/YKB@9=DO56IO7=OQBQB[STV M./4.PN-P (=]_AYZ/(P=^FCT/WU'I\^^1Z.8=$71P.F*HG]R'<6G_7C/=8O- M3EB'_;?#'>SUC@K5UG5(392DO6TC_6K?A.=M[WD.;SOX-5?;0F@H,:-4*O+0 M!]5VQ79B9.TZT48:ZFMNF-./!)4-H.^9E.9I8@GZ7]/L%U!+ P04 " "3 M6VQ2A?UPTE & 0$@ &0 'AL+W=O,GT MD5SR"M[,I"J9@5LU'^JEXBQWD\IB2'U_-"R9J 9G)^[9K3H[D;4I1,5O%=9U M63+U2\O&"&G9THN<+* MC@8T>^&6ZF:#I3OP.+Q@U](?/E[>X0]7-^.;R=7X&M\_C!\N/UW>/."+\<,8 M_S6>:J- -7_WV H[6Z&S%>ZP=0_9E-<%QW*&KZHGX%>J%SR1Y5)6<*.W\=N/ MN$817.-,0I9H8\$AG'@F"T@V4U9E6N#Y&E$3Y( MBN[8"C1EN (%: QO\;)6V0+$#E=,&8W>(4*\U _@(O62,$*/D&M85'BI9,:U M1M0+HQ01+PEB!&H2H,@KJ $$2_V M"7Q&-$(/TH >-X: ;>I[-";6F\B+DCX11%U@HKT#<_FE%DNG?4O!-8?U+V21 MXZL25OGDLF)KH/HMO$4M.E2Q@?K#$>R,--SXL6\O0B\.*;K>:A(%,(I"6-(D M1B3Q"(PDL1?3%(VSK"[K @210X@^5H2FAL !62F7$/^X!.@ 3J1_C0W<5 M) DZ!+N!1X/(?0^ M?@+%PUJ0A91N'[ !(EI-A23E,; M<.HE:6)?4&\THBX6-!BA>SDS*Z8X2&4$[WP?IHR:&P)".40PYA-3G[D!)]:< MV%@W^P^L5?'".:(78JD1\0DZB*UA$(N[&046)7$ND"!M?$M(Z'P+:",&ZD>- M;TD:-3HA?1D<=^J(]U;')FGX\AE:%VW#J?:33;^=-]B\Q88*:%7AV+)BP"L& MU.E60OH8_"344AS N* MTP#%(X*NJ@R(Q(8] \B2O=@."M-1BH,@0*[?0I O)$I=5B1IX,"C7F+3CMBT MEXJFG;N1558K9?>M/PI#AM\S8&#Q+*; MD&W4AB,$?<4$^DG;D+WQZ.>?$DKH+S@)6]';+J&/2N*_ML;^WBJ=+*!^@#E( M^$MM1.EJ=.?IFN67K7UROY4Q4 "T9C"_J2TMM]FK15DKS#NKJV_XP6*_HK,S M+.>L@/Z?VY(SY7-1N5($?BRA)90Y4!J[?25.7'.@:FC,;%5M/;&]60)[2$*B MU^!!7(4]NJ$0M)[ )L2-*=INIV0YQWFMK!6[U-;,01(DMI5(4[MW;?C$(1-? MO4E@@['^3%J)+VU=;GCK(PFVK#2P\#9'#]&UK.;OH>4M^R>]L]J#/(W[%+5Q MV"+_15%=5G3LW359L55._2;VE%.^*Q'_?RW1V/8!E"2H767K#)P]0"PA"J$0 MO-EL87+G[KI<' 2CR 8S#&PPF[/"SC6A( R=V2V2V3WI@$8CU]FFX1N][)[1 MU;!M8AEN'-)AGYV[GR)L1:TKTYS7NZ?=SQWCYI#_.KSYK00V<"!6PV%B!E/] MHQA.(*KY^:&Y,7+ICOQ3:6!3=Y<+#DFG[ !X/Y/2K&^L@>Y'H+-_ 5!+ P04 M " "36VQ2:]21G^(& #U$0 &0 'AL+W=OO(+QUL '7UEUR;H"=I%V WA [[89A#[1$VUPE426I M)NFOWR%U=6%[>=F+)5'G?.=^D2\>N?@J=Y0J_)2EN;P<[)0JSJ93&>]H1N2$ M%S2'-QLN,J+@46RGLA"4)(8I2Z>.9073C+!\<'5ASCZ)JPM>JI3E])/ LLPR M(IX7-.6/EP-[T!S/M25KSK_JA[OD*^ MBX5T.I+R4)$_D"&FOPH\]0TM>BI@:J%K&,.52C@X)/D,/.5, O51$48E^ M1=XX"@.X#NW0P2,$E0)UD"-[[(41_+JN@U9,7-Z>UF0\UTZ"6%(3B4 M%Z>5F,.DVA->%M@&R@>)OR M-3#=Y8KD6P;# [_CCZ]U326-+X=O[]ZM[D;3.FM ?P$&)WV>BM*(L\.)AY8[ M(NAK/6P3J)\,%A!IG G).O$@78>@'%SNJ02WQ#L,=8+I4P' L"ZHRN_#^]]( M5IS?C' ,>0DW#-+2#283:3F4\7E'@(1[A)LN;UR88"8,X0=7$%-@GMD8) M)A9V*$>D9UVYKXZ/:I8 +$&J/+/F)3@P::*"78NH0FC=U)B '< M1A\AY80).-+IX$$,N\QO,@_-0(U74/>@^JL351FV51F>KLIJVSM5E NZ97FN M;9J#39#EYC;C9:XTR5L!XPCO.4_79]W,86L9/*P6@X-+RVG5CM7JNM7')%:E M#ZGT 9*MT:<\$DS01\?;L6LY'.W_M@]4"5M!4YP0$N*QBZ M?^^S@]Q",#C6#!(%%K(C*,NDC%_( 5D_T^44S0(TZG,FI6F2*2DDU4RD*%(6 MZ_6T[G#F-&49J^I=ME767 ^Z#(*Y[ZQHUCKM S3"T^3@#?@]N:%$;5E$+QY6 MS?0U:3V7DD(2Z4IXQ\@:]V@ M7IG':@S6YR8#7I9Z79P'\^ M@9S\*5DKQ5%/Z4-'M]]*5N@N/<8IA9S<\32I%&/=/(!:$XK],(&M^A6XW:R9 MCF^2V[+T;Q2BC]#T@0Q*P*#UK4.1.VO:.0Y]OVWMYL/S-=^\+H&A]LR0[P/) MKFO#(MO"N)Z%[O+OH+X>L&V#EK (S6 ="FRK99O'L2AI-9=R $2V,^MVJ![A M%R($R17 :0Y8O>S(Z0A#M[UO(RHH:%#JV>YU6O;0FU5 >U6:B=\-.8G<\2SH MI'MC"Q;$XYQF.^A\HTLJ!H6?=6D_$I%(Y(1^R^_[W?W1(>[Z44OD!IW:_?%D MN\B'9@(&0D.![4/I51(^$\*9C\+(0^'8M0,4>/[A>0F?'[;7F[QP$(0SU!WL M;ZTG:@3RS!^[D&PO M=V]R:W-H965T M\!J%<$"4QO<6,^Q".L=C^8#^R==.M:R8P6LE_N"%+2?A*(0"-ZP6]E'M?\>V M'I_@6@GCO[!O]\8AK&MC5=4Z4P85E\V?_6C[\"L.:>N0^KR;0#[+C\RRZ5BK M/6BWF]"; MHG4+==5 I6] )2G<*VE+ S>RP.(Y0$1Y=??X.[F]GB9@%_S5;&:CH9?Y] SSOTW*/G;Z OZ,(4 MM4!0&UBK:JL5J@[+EY:D@_!P_.8/IO@+!BF&9S! M,!D%7YGF[F@=KZ?#%-+!AV!1*FW?6]35T2ID(TB38*DL$X24].+,8=$_'IV@ MJ]_1U?\UNAXV\*FV-;7HGDM>U55S%6#.?E:^OX_XO>8:"_A";=+P6D3DPS)V;!:#AR0@Z#OA?ZP6"8 M.V$ >9PU3+5)[=KF!7EOD ^#.S3F$EBE:CI=&NG],+3JDN&2:$=BNS_*@WEC MAR0=Z+!]EK1R$Z&H@5ZJT?^X9.%85O9F-G[5Z663-0_]W> M/$OW3&^Y-!1_0Z[QQ9 8U,VH;Q2K=GZ\KI2E8>W%DEY'U&X#K6^4L@?%!>C> MV^D_4$L#!!0 ( )-;;%)6G)AP,P0 % ) 9 >&PO=V]R:W-H965T M,/6 EHM499D9XX!Q7$3;XT=6$Z' M8=@'6J(MHA*IDE3=[-?O*,G.2Q.CVQ>)/-T]=[SGCJ?Q7JI/.F?,X*]E(?1Y M+S>F.NOW=9JSDNIWLF("OFRE*JF!K=KU=:48S1JCLN@3UPW[)>6B-QDWLELU M&U[O(%CQ76ZLH#\95W3'$F;NJEL%N_X1)>,E M$YI+@17;GO=B[^PBM/J-PD?.]OK1&MN3;*3\9#?S[+SGVH!8P5)C$2B\OK I M*PH+!&%\[C![1Y?6\/'Z@/Z^.3N<94,UF\KB#YZ9_+PW[.&,;6E=F)7<7[/N M/('%2V6AFR?>=[IN#Z>U-K+LC"&"DHOV3;]V>?@> ](9D";NUE$3Y24U=#)6 M!YR.,\%.8EXR=)WV/<<3%SBGL#SC_GQ&SS_M?S, M/LX6=S,\72ZFL\5Z%:_GRT4"^9E?+>;OY]-XL<;3NV2]O)FM0!PO+O'5;'FU MBF^OYU,WRK9%:G M!G\ [9=H.(VYSAG>R@(:E(M=UY_\'Z:QK!5T7NMEW@A=0X= I"SE34O[ETTYD4N<0)-+I=&/ MR(N<@!"[($X0C=!&U9JY(/!($(^<2+/1PDK>2J% M#5*J(ZP7..Y@B#S?&44>6DM#"_ 0N8[G1; (1@X)_1/4!$=J@M/4P(V9U05[ MQLVS?GF)GM.X'9:V%.P>P"B 8:X?^,HP-&/+H_X?]-P);D Y,=2PAHN!X_F# M=C$(1FC!3,Y48U0HF!8H<%Y(Z=%QWA*8Y%Q1Y0V?D M^LCSG" AJ#":"450[X3C2($/L!_ N,BQ[^#F*+0\:,0Y&$T1+_1B@K0]"(" MS]!W.V>QYM0B1BX!7X-1V,HAK B*ACAAZ+8\'ZI7_R?"PR/AX7<3_D&*W2\% M3)@,HM/,:!P;H_BF-O9RQ&N)9S3-GQ?#SQHO*];=NB]5QND 'CFEK5-JGK#= M7(-MFP'%MF2>U,BKM? -\-DWY4&
KPW=($**._A#]],.0>.179"EJ',N& MF6C@(G\4=*P4S^$;G !8L^\P\%XBI_]HRL$TVC6S7.-4UL*T ^\H/?XNQ.V4 M?%!O_S5NJ-IQH7'!MF#JOHN@ 54[O]N-D54S,S?2P.AKECG\\C!E%>#[5DIS MV%@'QY^HR;]02P,$% @ DUML4K(9GB^P P "0@ !D !X;"]W;W)K M&ULI55-C]LV$+WS5Q!&#S:@KB3J.[ -V/O1N,@Z M&Z^W15'T0,OCM1!*=$@JSO[[#BG;ZR2[>V@/'@_)>6^&CQ1GN)?JL]X"&/JM M%HT>];;&[-[YOBZW4'-](7?0X,I&JIH;'*I'7^\4\+4#U<)G09#Z-:^:WGCH MYN[4>"A;(ZH&[A35;5US]30%(?>C7M@[3BRJQZVQ$_YXN../< _F87>G<.2? M6-95#8VN9$,5;$:]2?AN&MMX%_!'!7M]YE.[DY64G^U@MA[U EL0""B-9>#X M]Q4N00A+A&5\.7#V3BDM\-P_LM^XO>->5ES#I11_5FNS'?7R'EW#AK?"+.3^ M/1SVDUB^4@KM+-UWL4G2HV6KC:P/8*R@KIKNGW\[Z' &R(-7 .P 8*[N+I&K M\HH;/AXJN:?*1B.;==Q6'1J+JQI[*/=&X6J%.#/^U')E0(DG>E,UO"DK+NBL MZ0[;JM9_:'B[K@RL![2_Y"L!>C#T#6:V>+\\9)EV6=@K64)&;V5CMII>-VM8 M?T_@8\FGNMFQ[BE[D_$*R@L:A1YE 0O>X(M..D2.+WI-AX?)8GF]^/ 7O9G- M)_/+V>0#G&&;D-R6UQMNH'JN&9![+([11&)/< M2XL$_8(E! ^)8>RL*64-=*-D3?%)46YWFF28*O3B+"(,PP+TDSPA-G-&YO@F M50Y&\CC&I32*T&:%@Z0IAF4Q.PNCR$OUEBN@O](IUU5)^^& !!JY#!R0Q'E^]8 MTA=8<)TNM] U$_=2R0W]:",-!0P2U""TY*)L10?&[\W- M;5HAZ!-PY5&N*7 \W6?2&ULQ5AM;]LV$/XKA+$!*;!%(A6_ M)' ,)$ZW%6B&H%G7#\4P,-+9(BJ)*DG%\; ?OR.E2$XLT^[:(E]LO?">>^YX M?([B="75)YT"&/*09X4^'Z3&E&=!H.,4=!>T*(G(H=!"%D3!XGQP0<_F460-W(@_!:STQC6QH=Q)^ MO$G.!Z%E!!G$QD)P_+N'.62914(>GQO00>O3&FY>/Z+_XH+'8.ZXAKG,/HC$ MI.>#R8 DL.!59M[)U6_0!#2T>+',M/LEJWKL& ?'E38R;XR102Z*^I\_-(G8 M,(B&.PQ88\">&3"ZPR!J#%SF@IJ9"^N*&SZ;*KDBRHY&-'OA&'(1Q[(JC"B6Y$9F(A:@ MR=$5&"XR_6H:&.1AT8*X\7E9^V0[?%)&KF5A4DU>%PDD3P$"#*"-@CU&<_JT*8'I;S@S'I:8/IH1JU"8\<;/2M M$_[Q+=J1-P9R_9>'QTG+X\3Q.-G!8\YU2E+($B(*@G* ]6X7E?.K^^:TAALY M."L.][/1&,4BG ;WFTG='A:Q\>:P)VR'+=NAE^WO57X'BL@%::>5V&G5Y%^R M=Z(O:^SA!B?:3V?4TAEYZ?PJ9;(2649$7G*A4-9Z"VRTY7='&L:MW['7[S5_ M$'F5DQ*4D&[F5JF(TW;>,!:.[T7),E]AQRE$G=+RF3K;IZ6E9UQB=; M&?^9>LKOM WBU!O$17(/6&+:EAT\8 O5O4D]W:[],=TF>;I%\B2<[.1(PT[* M0W]UB,)5Q\=KL*O%IQ)THS_0%]4KRCHFS!O>'XHG0 IIX$F=B\* FV(X@:( M-OB;V 42XZ+$C4AO>_([&AZ'X8\^RIW6T^C_4$;%XFLK&LU"[N7H1Z83DKL> MZN/9]0+J;P:OM1&Y2URE85%E),.]E;9R:U(@\+D2I:/+<=XSP%U3*FWCR$LE M[\&^P?T KMXU<+5C0^#W3YVI+Y2N45!_I_C %:J*6?M2ZT?83Z9K$]3?)YZ1 MV9C4FOKE^ALJA=_1>(]2L$Z[F5^[OT(I M]B!'H_U*P;IVP.C+*L4>_^/:U!=+UU"87^&M@76M@+]L:6-<:F%^QO_]<^OU/]B[,J.L9D5_9+Q8+D0D7S&O, M&TK' 9,6=5(?O>S./^J$.O++["W/$-9(;(=9W;2Y,NN^[#= FY]@)^'V%U@S M;/AL6/\'6+1QM.-7W7F55T@0*XJ4E8I3+)_>HY0&9I/E\+2'Y?:PYQ2#C9._ M'-32'8AJXN:D/CYKG[:'KA?NJ/'9\TMZ-J^/3CN8^B3WFJNEP._S#!8(&1Z/ M,6NJ/ARM;XPLW?GBG31&YNXR!=S-*#L WR\D[FJ:&^N@/:*>_0=02P,$% M @ DUML4E-:?:*" @ M@8 !D !X;"]W;W)K&ULS55=;YLP%/TK5V@/K;2$KR2T58*4)II6:9VB1MT>JCTX< &K8#/;--V_ MGVTHHLJ'*NUE+^"/>\X]]]A5MXH'FAS((;SVN2XQ;58[T1>N;V+"FMD$G*&0C,%L[2OUE%)MX&_*"X MEX,QF$IVG#^;R5VZ<#PC"$M,E&$@^O6"*RQ+0Z1E_.XXG3ZE 0[';^Q?;.VZ MEAV1N.+E3YJJ8N%<.9!B1II2/?#]5^SJF1J^A)?2/F'?QD;7#B2-5+SJP%I! M15G[)J^=#P. /SD!"#I \%% V %"6VBKS):U)HK$<\'W($RT9C,#ZXU%ZVHH M,Z>X54+O4HU3\6TC]8J4L$:9"%I;;Y)ZCOK9+ !:P*PG($RMZ'49;0 MND1X^J8)X4YA)7^=D1/V0Q@UN*F:4P'^U+'%Q= M^:'G:3]?AE8>"0R]R!\&OE,YZ55.SJLTG\J(9Z-&(A I41V3.3G,/@O\0Y5M MW'08Y_NG14Y[D=.S(I?;1W-)9B,O@*=[K'8HSIW0K*>=_0\7)NKE1/]\85;1 MP4F,PO#08'?054Q'ORN-(&R[:+ME.%*]MH]EQI=N6'1;ZQX+" M!.C]C'/U-C&]J_]5Q7\!4$L#!!0 ( )-;;%)2,(RBHP( #X& 9 M>&PO=V]R:W-H965T.TR58D M 9J/8AO6+4C0[5#TH-BT(]22/$E.TF$_?I3L>-G6Y#P?;%$B'Q])D1YLE7XR M:T0+.U%(,PS6UI;786B2-0IF+E2)DDXRI06S).H\-*5&EGHC481Q%/5"P;@, M1@._-]>C@:ILP27.-9A*"*:?QUBH[3#H!/N-!<_7UFV$HT')MQW^E[A:\'A>H]^ZV.G6%;,X$05WWAJU\/@;0 I9JPJ[$)MWV,3 MSY7#2U1A_!NVC6X40%(9JT1C3 P$E_67[9H\'!C$G2,&<6,0>]ZU(\]RRBP; M#;3:@G;:A.86/E1O3>2X=$596DVGG.SL:*(V/'W3>0=S)E,4/(&SSTQKYG)U M#F=3M(P7YGP06G+F3,*D 1[7P/$1X$X,=TK:M8$9 :=_ H3$LJ4:[ZF.XY.( M4TPNH-MY#7$41_?+*9R].C\!VVTST/6PW2.PLRRC&V* KLAM92N-,&-:+[ M$HPA9DH"_6, ME-$=#1&#IE4ZD:5>RZSWG]2MWS+JGZY;B:YQR \V\;Y4J?X_E;KLO%"G\*"G M!>K<3RX#B:JDK=N[W6V'XTT]$WZKUY/UCNF<2P,%9F0:7?2IY+J>5K5@5>DG MQ$I9FC=^N:8!C]HIT'FFE-T+SD'[RQC] E!+ P04 " "36VQ2#8OKA]0" M "M!P &0 'AL+W=ONY@*K; M.5OB%,TL'RO:^25*PC,4FDL!"A+%/M?F&[MPT\B-?:R&SO3 PR+HHOV^V%.'*(PA,. MT=XAX0;%&F& L MEX([I3[!@\QY#(V@ 6B+!)/7 #ZI44H2'23I1)6(/8POH!9^)')1,)OVX.S#>05L MK52ZYF!KIY3N/_9'LSY,^MW[+Z/!P^!^9)6^'P^Z5K&*"/4R0MU%J)^(,,AR MQA65C(%4:HT:J&HA)G44/7Y@=&3T6PH7L T':\MXTPZ:_N8-)I+;.3ORMKR ;)63CG>2[*B-<59(>H^(R<9I16:-2F,#6OGYAGJD!%76"NYS> M/=T8"7.D8U(6NU?%">$:F*HA?E\2OJ]5FNW]5^Z:$O'DGM&PO=V]R:W-H965T)V]Z+8"UD>VT(ETJ5H MN[M/OR0E*S[0BIK-C2U1\_V<(7]*9&_#^(]R 2#0KR*G9=]:"+&\L.TR74"1 ME.=L"50^F3%>)$+>\KE=+CDD4PT5N>U@'-A%DE%KT--MCWS08RN19Q0>.2I7 M19'P?RXA9YN^1:QMPU,V7PC58 ]ZRV0.8Q#?EH] =P)P:\#M"G@UX'4%_!KP MNP)!#01=@; &PJY 5 -15R"N@?@0"$Y-'-[.'.[:!VDFNS)=Y1)ML6$BDD&/ MLPWB*E[JJ0OM4\U+9V54+:FQX/)I)CDQ>((UT!6@)TC9G&;:YA_15[;,4A3@ M )V-J[6&OLS0-O81N%[+- 7T99)G\T1AY7MT-@219+F\^HB^C8?H[-U[] YE M%'U=L%69T&G9LX5,6G5MIW6"EU6"SHD$7?3 J%B4Z)I.86K@1^T\<5H$;#E: MS9 YVR&[=%H5AY">(Y=\0 YVL"&AJW9\#$N)XY/XL!T?K6@K?MV./R2\-?F; MSK63V(!_[ER[$;_M7+L1O^M[5$31U!%WL M*#=P^A/U+TP16P-'0F[MT/<'*"; _V[I)VSZ"=]X046-T.8'SJN9W8+>?[<$/2FXT#TO M-Z:\]GV=YE!0?2Y+$+BSD*J@!J=JZ>M2 $GLUB8JB>7* M<"9@HHA>%055K[? Y:;GM;SMPI0M)$.-O MG=-K2EKA[GB;_8<[.YYE3C7T)?_#,I/WO$N/9+"@*VZF M5:^7C!>D+X51Z#NYT1J,)CUN[8W3.."8 ?4*.!V HXS@Z(X^S 3D^.B%' MA GRD,N5IB+3L6^0WC+X:4UZ6Y&&!T@'D)Z3J'5*PB ,]LC[WY:WKM[+??2L M,2YLC M=ONB0<<.GX?WCD$R'_?'/^]'#:'QOC1M/1GUKW!<5HJ9"Y"JT#U1H MK*7.[E/T+^6K##)KI#0Y*/Q E *QC=CG:56BZTK8&[U.PMA?[]KV5<0[[G;# MW?X>-W_[)- :FJVI2*'^J!&^I*_8#O9C5Q4Z.U"=[L4'\,\QT>75?O1.@][Y M'W1L"X!&9V1#E:+"O&+_-'Y@.[O7&K;4']3M61" M$PX+5 7G%YA$54VJFAA9NGL^EP8-=L,<^SHH&X#["RG-=F);1_-/D?P#4$L# M!!0 ( )-;;%*4,SU(K ( -T& 9 >&PO=V]R:W-H965T2NYT%VO,&9UY_LZ+:"D^EJN0.!- M+E5)#6[5TMO?AW2"Q\2[@!X.- MWED3F\E"RA>[&6==+["&@$-J+ /%QRL,@'-+A#9^U9Q>(VF!N^LM^U>7.^:R MH!H&DO]DF2FZWA>/9)#3-3=3N?D.=3YMRY=*KMTOV=2Q@4?2M3:RK,'HH&2B M>M*WN@X[@# Y 8AJ0+0/:)T Q#4@=HE6SEQ:0VIHKZ/DAB@;C6QVX6KCT)@- M$[:+,Z/PEB'.]*;P"F(-9 JI7 KF2ON97,ZJIA*9$U, H:5<"Z.Q;2FG6K.< M049R)4NR@"43@HDE2:4P"KM".*,+QI$*-#$2,4[ABEP.P5#&]14*/,^&Y/+B MBEP0)LB\D&M-1:8[OL&4K#$_K>WW*_O1"?MA1!Y0M]!D)#+(/A+X6(NF(-&V M(/WH+.,0TFL2AY](%$3!$4.#OX:'MV?LQ$U_8L<7G^K/Z,?H\7E$IJ/!T[?' M\7S\](CEFS]-Q@.2!,D9A5:CT'(*K1,*]__?VV-]JT03)VI'R6LOO D[_NMN M*0]CXKC5Q'S(IMUDT_[';/#=!J5PMZ%*46'>S[FO1-J[[F_C/?>',5$8'W>? M-.Z3L^[GTE!^S$]R6*FDM>?G,*;=NMGSX^],BA+4T@U0C?W%HE7O2'/:S.A[ M-YKVSOLXNZM1^X>F&OP/5.'?1A,..5(&US=8(54-TVICY,K-HX4T.-WYE&:[L0+-%ZWW&U!+ P04 " "36VQ2=T4TC]T% !'(0 &0 M 'AL+W=O>WQ=+Q@3XG299<=Y;"K'ZT.\7TR5+H^*,KU@FS\QYGD9"[N:+?K'*632K M@M*DCSS/[Z=1G/5&P^K8;3X:\K5(XHS=YJ!8IVF4/UVRA#^>]V#O^<"W>+$4 MY8'^:+B*%FS,Q-WJ-I=[_2;++$Y95L0\ SF;G_K1/QC3_^Q>H;J@A.>5)4?\%CC?5Z8+HN!$_K M8,D@C;/-_^AW/1"M $@L :@.0+L&X#H 5S>Z85;=UG4DHM$PYX\@+]$R6[E1 MC4T5+>\FSLII'(M_!R;4\&"=RZQ36&#;*P MN6;3,X#A'P!YR#.$7^T<#@?;X7TY+LW@H&9P4)6/6/*-ESP7I]]9GH*?7U@Z M8?D_CJRXR8JKK-B2]9,4%SCYS LY=/)!OLD>6"&D,D0!?GZ66' C6%JXKD2: M*Q$G_RM>"-,D;*+\*JK4^<,H]'P\[#^TA]H 0G[8@+8(T880=1*ZRZ35)/&_ M; ;*43 ^(9L,M'5=&G:HZ1 4F(GY#3%_5V+EQ# C,U^[K-QP,H#0@)IIA0VMT$GK,\\6.^MBT"0='%D7T%.N MY^VEC#JL/5H0AX.N-DPP!#W+J,*6&<.#]5&GV+IV@+H$=9!O8Z?<$+KM<">1 MU#G:5SZ%VO@90,A"3]DJQ =HI0[>&C;B46W@## $;;X'E1-#MQ7?G8W/P"?^ MP/*L?*3!138#%PN639_ UTD2+Z*RJ"D:.8'_P.L6'Z@L&-)CRTRY*G3;JE5F MNE&2$ ;=N=!1-/!]RU0H2X5N3]U)9+IK8K]+3\<@VT.LC!6ZG74WC84OKD1. MR#8WY<]P<(C !H8YI9KR=10-0HN\D/)SY/;SU\OK54L84@Z.X)'5A5K5J=N/ M;>I"NKL&% TZ,V% ^101RTPH%T9N%]Y%74@W6;^K+@,&6YY@I%P8O>#"NZBK MSN%2EP%R"BWDE#$C=W'LEA?2B]Z MNJXFIB.\FE+A-O4E(^CEWP\7_$\$@Q< MLXEHORF60KMBN8CG\52>+\H7QFNVXD4L]E_,D/)R%!Q;;LJ:D=N:K7+3K19# MK>0QH* 76FHRI#P9N3UY)[GIGJN])1@PE@<:*U/&+YCR+FK#>BG=59L3LLU- M^31V5]INL6&]?,80DRXO0R7NA9;Z!"M;QR_9^H%B>]72AEMMBV/W+; R:KQ? MYP+KQHL'0=<%32C/LRQM6!DT/KQ[@0T&W-6: 0-MY)1%XS?H8&"]HC[5V.W< MQ,#*IO$A;0RL%]+$P]JD&DIR#UHJ1ZQ<';M=_4*.E0"7T?1>CEQ+:WLO7EAY M-SYVPX,H+R;[-3R(J>&AM0(-( (M+3>B/)@R;I#K@;LTU(&2L]O'5!=>?L/J4&B.6=@"IGI6_0N*"F MKH0V]0SH7=7#[2R+6QDS'D&YIUV]]Y2Y_8O ERA=RED#"YC+( M.PMDCGSSU7ZS(_BJ^O ]X4+PM-I&PO=V]R:W-H965TZ'0=#U!66I-QJXLR"DRO#&D=J^L=^E>G M';7,J8:)Y#]9;)*AU_=(# N:)'DVOV236[;Z7HDRK21HG!& M!H*E^3_=%GFH.#3/.82%0WCHT#[CT"H<6DYHSLS)FE)#1P,E-T19:T2S"Y<; MYXUJ6&JK.#,*;QGZF=$#5:]@Z)P#F4&4*688:-)XI$I1F^ +TICB/>/Z@ER2 ME]F4-#Y=#'R#H2V 'Q5AQGF8\$R89D@>9&H23;ZD,<3[ #YR+HF'.^+CL!9Q M"M$5:34_DS (@Q.$)A]V;U[7T&F5>6PYO-89O&_XP9#&O=28)^S.NW0-VF"W M&TU^W:,MN3,@].^:2.TR4MM%:I^MV):)3& 3&%NN=R(7V+=S0W2E?ART)B:A M*>F0=Z!*GZQ9?:#"LX9RIZ34I%[XC=(?\ZBSWF_9)YOY;Y#'-J>_K#'/M';7#(L^6R;X+H.R!GB_D-+L-C9 ^=*/_@)02P,$% @ DUML4D7< M@C+8 P _1( !D !X;"]W;W)K&ULO5A=;YLZ M&/XK%MI%*VT!.Y^=DD@MT;I)JU8MZ\[%T;EPX$VP"CBSG6;;KS\VH4 2<+.E MXJ;!YOUXW@^>U_5XR\6CC 4^IG$J9PXD5+K]ZXK@P@2*CM\#:E^L^0BH4HO MQ-W 3RE)G.L[V[L5TS#(@'+B7.-W_MD9!0RB>\,MK+R MC$PH"\X?S>)3.'$\@PAB")0Q0?7/$_@0Q\:2QO$C-^H4/HUB]?G9^H!W, M@DKP>?P/"U4T<48."F%)-['ZRK)(K:P0) M2W>_]&>>B(H"[C4HD%R!G*K0S16Z6: [9%E8,ZKH="SX%@DCK:V9ARPWF;:. MAJ6FC',E]%NF]=3TCHI'4'01 YI#L!%,,9#H8J[;)=SHS2]+])#J_HC9;PC1 M9RXENN>2F1)7*(WB*7H6\0WDJ:A'+M*@S2NW" ' M=+,#1!H S2#HH"Y^BXA'O!IU_V1U?+6O[NK4%/DA17Y(9J_;8.\#90)]I_$& M+,:ZA;%N9JS78.Q3VIA,I)L2?0:]\RVB*<($W?%41;4)W#D99$[,9_HT'?;P MV'VJ9NE8!F.O5PCMP>\5\'MGP;_5[Q2($R+8^>E7T'D'^&T2>^#[!?B^M9"W MPN ]P _24M5!87G01E4'1Q&_.RQJC0BIS\JPP#YLJ:3#%TMJD]@#/RK CZS@ M'SKS#KKE3R!2/5@4NDY#=+V"-/B%OBQBMJ(F#(G^O8-D >(_2ZFO"H]7Y[,! M]DKN]=KHG-Q+-;/=[F'V:X1P[ZJ^ +@R/7!+_9,[LC60560_@)+>L9W?_YP6 M<,GVN!6ZS[U8,W,L4B&/??@EV^.VZ!Z_S/=6D?T 2L;'?6L /A=K+C1&-(.% MJIYO#%/X(!1;LD"_E^:8,X.UB>X4NL#E:,"#5R",DJWQ>71]:D<=4W$/'PZ; M&B$R;&JJDK*QG;-?L:E&+S>5360_@'("8/L(^'/"(.4\(*W, W),]4='B1J9 MAM201B0REF?6 .XUI54Z(8&CQI_A2Y.H 123@72/9\2 M2,G2Y#R6/JUG?'+,OX-1P_\+I&1@8F?@5^L(/W=T2KE+&PO=V]R:W-H965TGNIWG2!:.# F=#]H#!F^QB&.BV0$WTGMRCL32X5)\:*:A/J MK4*2>1!G81Q%#R$G5 1)S^L6*NG)TC J<*% EYP3]7N(3.[[03LX*I9T4QBG M")/>EFQPA>9ENU!6"AN6C'(4FDH!"O-^,&@_CKK.WAN\4MSKDS.X3-92OCEA MFO6#R 6$#%/C&(C][7"$C#DB&\:OFC-H7#K@Z?G(_M7G;G-9$XTCR;[3S!3] MX', &>:D9&8I]T]8YW/O^%+)M/_"OK:- DA+;22OP38"3D7U)X>Z#B> ]L,% M0%P#XO> [@5 IP9T?*)59#ZM,3$DZ2FY!^6L+9L[^-IXM,V&"M?%E5'VEEJ< M24:2V^X7KBT[A*E()4=HS8E2Q-7W!EIC-(0R?0,?X64UAM:'FUYHK&>'#]/: MR[#R$E_PTHYA)H4I-$Q$AMF_!*$-N8D[/L8]C*\RCC&]@T[[%N(HCLX$-/IO M>/O+E7 Z31D[GJ]SJ8S/L\5R\C29KZ:O$YC.K3R!'X.U-LH^U)]7/'0;#UWO MH7O!PQ)31K2F.4V)'X!<20Z#-"UYR8C!#)Y-@0K.-?061J52* PL4%&9W<(: M[0) ^$8.YYI91?+@(W%K8)?8$N].JWO-HDHO/'F3'-7&CZJ&5);"5&UNM,TV M&/@A>*P<^6-A M-QTJ9V#O&ULO5;;;N,V$/T50MB'++");KX& MMH'82=$ >PER:1^*/M#2R&*7(EV2MK/]^@XI17%D25N@BWVQ.=3,\)SAS'!F M!ZF^ZAS D.>""SWW]FX9YO=K>*93\VDO*"A":24$49'/O*KQ?:8U/%Z_>/_%D4BK#9ZLPL7&V>-;)BPU_A@%'YE:&<6*UG@ M]>?V7O9 ;D4B"R!GCSF0FRS#4!.9$8/2/22<:LTREE ;?TTR)0O2;OY1:OV> M&$ENJ!),;% XNP9#&]2!/8S()RE,KLF-2"%]Z\#'0-31B%ZBL8QZ/5Y# NJ-]Y_?$1SP!_6\(<_"'X'[M+]\ A3$W6?QAO,HQKSZ =A_@RN M,CN@CTZ G8:\1:ZYZN.9QCEIQKRH%H M0(;,,-"7Y$G@Z\/9/ZB\P5?GN^DT/L4]&#:XM>C$DW9NDYK;Y&=PZR U.0%\ M'H<-4BTZ40>I:4UJ^C-(]2?C]/0RPDYM.1RV%P>O+%O2R>Y2& M]$U6]LUUF6B59.@SM#]"P0FZ.&ZF7)M2&'50.'J:&?STW;!')X]"'#03IT4IFC3;F'\T'A6@-FYJU(AM M)TPY&]2[]61ZY>:QQO[23JQN['IU4XZ[GZC:8"T0#AFZ#"[&&%-53I"E8.36 M#6%K:7"D<\L4,_QBW\!4$L#!!0 ( )-;;%*QX^A/ MN , ,<- 9 >&PO=V]R:W-H965T]=540(I43=B#]Q\V0J9$FV6 MJO002YTHI9@Y^7% M1[I+M'WASJ=[LH,UZ$_[1VE6;H42TQ2XHH(C"=N9L\#O5WAD%7*)/RD<5>T9 M65_Y2@3F73*M:?7]!_RYTWSFR( M@I5@GVFLDYDS=E ,6Y(Q_5$( B$;& M--K CG).^'; M7L)%A**S"-$R0BR/T 9,:P/38")&E*);&A';+EJW7F'KMD9QZ 4--RYE_''0 M[D18.1'V.O$D-&%(=+M"MMI\*A>:/$,K^_ 5["]E.MF/*O:C']DSP./^W3*Z MH## V/,;1-NDZGOJC.JXHCKNI6KZO.GB'*TR*8%'W]"3)%RQ?$.@1?RWZ:YF M(&F%OCQ N@'95U*3RN;DY];^&*)-44WA54>#3H,'!_U 6I[&!^^?&ORR+R^8?3IJY MN909!+@C,Z<)@?M'Q!M7Q.48P+@Y*EJ%.L8U/@T+_+;3HH2K'QOP>-BD>BD4 M-IN06SL2IR!W^4U!F9!F7!>'Q>IM=1M9Y&?PQONEO:7D1^T33''%>2#2;".% M&&P-I'&Z'-,3Y_3,Q-"Z05,-^W0NB7A350W=WFWP%0 M2P,$% @ DUML4CUR@YF6!0 02@ !D !X;"]W;W)K&ULS9I=;]LV%(;_"F'T(@6Z6/RRX\(QD#KM%J!=LV;I+HI=T#9M M$Y%$CZ3C!MB/'R4KHAQ)M IKA6X:?9Q#'YZ7/$]UI/%.J@>]YMR [U$8Z\O> MVIC-VWY?S]<\8OI<;GAL[RREBIBQIVK5UQO%V2)UBL(^"H)!/V(B[DW&Z;5; M-1G+K0E%S&\5T-LH8NKI'0_E[K('>\\7OHC5VB07^I/QAJWX'3?WFUMES_KY M* L1\5@+&0/%EY>]*_AV.@@2A]3BJ^ [73@&R51F4CXD)S>+RUZ01,1#/C?) M$,S^>>13'H;)2#:.?[)!>_EO)H[%X^?1/Z23MY.9,A3O\%N\PVZ('Y5AL99Y:(@@,D-0XH MIMYV-B!,9[XRR=X7U,Y,/ M3"CPE85;#CYQIK>*6XV,!F=U-VSRP">F'KAALY"#.S[?*F$$U^ J7B1W;>)B M\/[[?,WB%4\N[)A:@*F,C;*:Z=?@[-KZBM >_0+N[Z[!V:O7X!40,?AS+;>: MQ0L][AL[M23 _CR;QKO]-%#--*[Y_!Q@^ :@ 45[M/&[G!TZ-ZW"9YNHQC?\YH2_4+J1:*Y> M0]))T5P9A[0ET6A)$8A(H1)FPE6980)KQ'/U'/H+^@^*!_X%_S\KH:OW<-C) M9>"X "]:6@87Q_>NS^0P/@<&Z"?#C\O?.F.1 P0*NJ@V6IN-U,(TTM 1!@TZJ:&#"/(_-337<%@2: @' MHY#:UC'#OZX&[VJPH-J[8Z5KA)0:BPJB\(V*$'^]'3ZA(XF>G8(0EW MLL.%';!P2STN7.Y@E?:^S^0P/LR:$<<&TE+7C)3;816;NL+*LZD=((@?$#\H M\LEL)0X-I)/],.*P0EKJAY'C_3"OR6%\CBK$3Y7W_VR%>7H6]:G1FST' ]K) M_A5UY9^VU+^BY<94Z?5>A4W=^SWJZC_UU_\Z?7X*1ZG# .UDWXHZ$M"6^E:T MW)0J*UVVJ56Z\![&ULC53;CMHP$/V54=0'D%H"@:7M"B*%RZHKE16"0A^J/IAD(-8Z M<6H[L/W[CIV0TM6"^I)X[#GGS,7CT4FJ9YTB&GC)1*['7FI,<>_[.DXQ8[HC M"\SI9"]5Q@R9ZN#K0B%+'"@3?M#M#OV,\=P+1VYOJ<*1+(W@.2X5Z#++F/H] M02%/8Z_GG3=6_) :N^&'HX(=<(UF4RP567[#DO ,<\UE#@KW8R_JW4\'UM\Y M;#F>],4:;"8[*9^M\9B,O:X-" 7&QC(P^AUQBD)8(@KC5\WI-9(6>+D^LS^X MW"F7'=,XE>([3TPZ]CYYD.">E<*LY.D+UOG<6;Y8"NV^<*I\[X8>Q*4V,JO! M%$'&\^K/7NHZ7 !ZUP!!#0A> P97 /T:T'>)5I&YM&;,L'"DY F4]28VNW"U M<6C*AN>VBVNCZ)03SH0/C"O8,E$B+)#I4B&UR&AH/3&EF"UQ&UHS-(P+W88/ ML%G/H/6N/?(-B5L*/ZZ%)I50<$6H%\!"YB;5,,\33/XE\"GJ)O3@'/HDN,DX MP[@#_=Y["+I!]XV IO\-[WV^$4Z_J63?\?6O53)Z7,$V^KJ9PV(>K3>K^6+^ M]&T-/Z*=-HJNZ\\;(H-&9.!$!E=$(JUILGE64-MLHR!.F3J@?JL?%=/0,=EA M/H94I>-E@6YY5.'Y%S%XF18X$7WZ8?,2_?HY\U:%N\5O"MV7O,U*BW!7%=_7P=?%A MXBE$/.6Q5$,P^'?/SWF:JI$ QX]VT$DWI^K8_[P;_4LM/ ASQTI^7J2_)PNY M_C"93=""+UF5RNMB^S?>"D35>'&1EO5?M&W;>A,45Z4LLK8S(,B2O/G/'EI% M]#H$X4 'O^W@C^T0M!V")QT(&>A V@[DZ0S10 ?:=JA%GS:RUXJ[8)*=G8IB MBX1J#:.I#[7VZ]Z@KR17CG(C!7R;0#]Y=K-F@K__!*I>H/,B _\K66W!-]^8 M$$Q9\2UZ<\$E2]+R[>E4PIRJYS1NQ__4C.\/C'_)'A$F[Y#O^=[MS05Z\\O; M7] 4E6K:LOEK&?1\Q*"A&A3/QP]ZX1[T@L],:WX$6^8K#BM@(5 M]N[/@M/IO043Z3 1)R903 ;SUH @UI5K3)4;-3*LJ)N M!@[[YJ8SSW!/LYE/]IKMX9YWN.?/B08[G"#!)A&@=5B"6RZX6HM+GB@[N PP M-U0[ ][F@R]D0!A3BF2N.<+ *[_LA:@RA/Y4O@ME#'X>V2.G?@__Z@2^8@L M418PPF=N!8(-8V,\PZ93M W[B.=S/.@56+,6]@\L.\'C8I4G_WX*.RY*"6I/ MF=(F!..\R-^W2Y0/R6J5T3<=&J+<,'9-<-C-<'O8!S&!8SR)B!#JDJ*)?(^< M"6MN=7%@;K_IBK"'@-'DND0^@2#[Z$HEL*9)[.;)?[('=,=SODQD$VCDF@\' M&P04B91I%$^J+Y7CMYK8-"F&?1D0PS(1]BW.9S*FCQW.IRD3'^#,6HI_M%+\ M< KYI,X@!N]US18=R:T;";THQ,1W"U/5[>>_C:B7X2FDX I7,,/"RM"/7$C7)D!6ON;,C-+3@M;0+'+K6[.>[ M-X'_F_RA!4'W\H?((J;9#H=T6$S-J+Z;!3\_Q+PLD7R6M%9)S+TBF=LDL;3S MAP71%.R[:7$_$?H(YKC6^YWFR]MZO_/F^N:V?#LF5?(UC_KSXTB5 DV*@9L4 M7[29"DP"G$6656=I%]'A=#;0/!DW[+RF1#%,OMDY M31.SF*R#&6"+P79U[M4FX^IU6FP;E:N'C(GO7*(-1 UHD-?OEHF 33RH/V6E MJ@$^[AH7RR7L0GJ;$08&VTUC3=$.2#&C)Y[W%Y M/5WYEF91-!OR)\U#P0$>>E&XBBRU'TOIQ];.BX;#E2:=X,"^;TRX K5?0JJO M5LN8"*9))S@2TB&:=(B;=&!X4E]3S" M/1\^L&*()A[R"L2C+-G&O1&6))J+R)%P$=%<1-Q<]/J6=,^'O4.F[!V0N:GI M3^=]1!,/H4=B.!WZB3OT/ZM$=F"LPR4RH@,\<0?X:_OI@RQ4M.^=:"K]=80% M>DID.I+!B+FS&* EH@,\<0?XOB^U.=GPSF*,:^GH3HXDNE,=W:D[VK[D?-8\ M)MH_H&T(VM9L3ND /U,=U>DSRVZO?Y+;(A@^RFTE-)OA\(0,'*5231WTI:6W M9]8^J5E_PZ&C_D8UE5!W:']FY:<=;6\/2BV%!$L[0HW'AU7PL M-!F%D,'@$&I&"=V,\G-=+#3O*.#AXFBH62)TLX2AX!WA*>#J5D*7V"]:]RM1 MM:DOT[[?W8H=IW;?/#X8QJ\I)!Q;&?M1,2&Y2!^![T"S:5J7UN$!;==)O-XI M>9L \RF. ;0_I+46%9JEL8&5'&KJ",=0A_($T.VBZI6'QFCO4V@>OIA'-.>' M6NUCU]P3CKE)T"5W-6%;05+S,HIO\O.YI1T.'$![M_/^W]?S/H7V^WGDJ8AF M,QR=^.& A)K'0C>/&5$=-[+L/>;$3/EM[8+ M."T]XL"]8.12R96X#&UL MQ9?=;]HP$,#_%2O:0RNU)'8('Q4@0=M]/$Q#15L?JCV8Y "KBDLZAPGHK\NQ-#V_U)*P#+AB@B,)L[XWQ!]OYE/2]P!)!"K&V*JCY/, EI*G59#A^%$J]TJ85K+8WVM\[ MYXTS4ZK@4J2W+-&+OM?Q4 (SNDKUC5A_A,*AR.J+1:K<+UH7:P,/Q2NE158( M&X*,\?Q+'XM 5 3".@%2"!#'G1MRE%=4TT%/BC62=K719AO.52=MX!BW69EH M:6:9D=.#R8)*.!\9OQ)T*3*3;$5=N$XF9@,DJQ30EQF::!'?HR]+-S.T@63Z MZ12=7(&F+%6G/5\;%JO1CPN[H]PNJ;&+"?HLN%XH=,T32)XK\(T3I2=DX\F( M'-1X!7$#A?@,D8 $[Y"/E'5-Y;\'](=EI$*G/SP8J>ENI(924CX'LU4UFCZA MZKHQ?7+#PS65R5D10&4:*ZTTY0GC_[#'MZH MY(U>S_O!Q%3#R["B':RP@Z-@/U6KI&J]GNKZ$63,U NY6CM+5+ MLO9?YM<4=)L!:>TG[9:DW?]Q MN,_0K7L6S.KA TCSS)5;"(TEBP'=#:=*2_,V'3KY.-C>YL'!B&_,G=>8&X/, M??CSC8!.&$+B.(H^ MA^A4]U:G$9(:>K*E)V]%7UXP1_&3'?YVHXUK\+?O'@[_R9YZ=K:/\B?<\0=' M#5*7C^W[B \_D*_/QY[+ZBB'FKO'(VP$OV?(KY1S&&ULS5==C]HX%/TK5]%6ZDH[^>:K B1@ MNMI*.^IHT+8/U3X8<@/6)#%K&QC^_5X[$)AMQE!I'_H"MN-SY3CH=CJ@E?X*$%MRY+)PQ0+L1]YD7<:>.*KM38#P7BX82N9/HPRSJ&("=\87C7EVTP5A9"/%L.I^RD1<:15C@ M4AL*1G\[G&%1&";2\<^1U&O>:8"7[1/[[]8\F5DPA3-1?.697H^\O@<9YFQ; MZ">Q_P./AJS I2B4_87]<6[HP7*KM"B/8%)0\JK^9R_'0%P XLX;@/@(B&\% M)$= 8HW6RJRM>Z;9>"C%'J2936RF86-CT>2&5V89YUK24TXX/9ZOF<2[*04B M@YDH:7'^/FO&" M6G?P"P2@#+,:!II4FG<%RZ.B::TH?D-1%,.#J/1:P<,T M=C+>X]*')/H-XC .6P3-;H9' X>-I?K;(2AM!*564/J60;[C&589'#@66=N*N?&A'X;O MVN+ZP[!7\CN-_(Z3YZM-50H2VZ&DHP=RQB7L:)=LA]XQL%R@="UDKZ'L M_1P[J]\(ZCL]/G'U?)=+1."51CH.-$A:B-93PVVZ6SL!/D]8EN@9,_:3O6J3HXC*+W#G%7F[-J2@^D\8_ M1U9%YQLD2OZWO+I"%?J=]L/["HXR:^!%=6N^N5DHW_I1^\I= :9^O_U0#"[JR!+ERI;7 M"I9B6^FZW&I&FQ)^8@O7_XQ/36EOZ],S3?U=\,#DBE<*"LR),O1[I%76I7;= MT6)CJ]6%T%3[VN::/D]0F@GT/!="GSKF!&PO=V]R:W-H965T,/7N$#]Y^9>TLQOHB19@:7*1 D25Q-O%KZ;A\PX6(O'#'?J M8 R&RE*()S/YF$R\P"#"'&-M0G#Z;/$&\]Q$(AS?ZJ!>D],X'H[WT3]8\D1F MR17>B/Q+ENATX@T]2'#%JUP_B-T?6!/JF7BQR)7]A5UM&W@05TJ+HG8F!$56 MNB__7@MQX!"=Y6\%F4UX^H-!D]T$=FL1DNM(B? M8&9TS?3S)5S[/-MQF5S!^V\5Z08?2U*T,AL*[G2*$G3*2[C;F'#JRHB_M=K3 ML"J6M"]6+JR"KP\BSX'.IXGX5PNM;D.K:VEUVVBYI-N80/O!,PB//*X2OLR7='WK=VX[_J*$R:M7X=3G_ M^WI<9"54*H$-+=IJ7%)97EZA4Z5QP 8'I0D'G6ATNC1A\/*^!S^%T?Y>O0%Y MC6!X )T-.U%T!OK!7U/X4Z#7-_(MR,,CY.&HP\Z)SEZ0LU]_C.@JOX42.SI' M+.QT>_^BY!^T# 7*M6V,%,2B*K7K'IK5IOF:N9;CQ=QU;I^X7&>E@AQ7Y!IT M!O2\2-<,N8D6&]N +(6F=L8.4VH@41H#VE\)H?<3DZ!I2:?_ %!+ P04 M" "36VQ2 J KL/JWUPDTECD=C%=MKR]VL[ M:2BEK?:E\67.F7,\]C1<==NB6AS(E"NS854<@K55"&4P&R*DLB/H98\%7?\9W- MPC.=Y\HLN%&X('.,4;TNID+/W)8EI24R23D#@5G?&?BWHYZ)MP&_**[DUAB, MDQGG;V9RG_8=SPC" A-E&(C^+'&$16&(M(SWAM-I4QK@]GC#_M-ZUUYF1.*( M%[]IJO*^<^U BAFI"O7,5W?8^+$"$UY(^PNK)M9S(*FDXF4#U@I*RNHO63?G ML 7P+P\ @@80[ *Z!P"=!M"Q1FMEUM:8*!*%@J] F&C-9@;V;"Q:NZ',5#%6 M0N]2C5-1G!.!YT-]$"F,>*DOAR3V?$_CNJ[PE,%4ARBRALE[1=4'[(F>K,T8 MS^!TC(K00I[!.;S&8S@].8,3H Q>!YII/'>/!R__0(?P8SJ82^ZG^/9.FV6;HV2_= EDT5 MI2WYS!8QV2XBUD7<5Z":^=(RF\:PC'S_V@_=Y?:A?0^ZN?F,^:*YUVKN'=5\ MS[1"!"-[A@PSJJ3N'0516KOB!ZWLL]#[IN[*#W8K3YJZ=SX0,:=,0H&9IO0NKK0N4?>C>J+X MPC[I&5>Z0=AAKELX"A.@]S/.U69B$K1_"M$_4$L#!!0 ( )-;;%(5;/YS MT 0 (T3 9 >&PO=V]R:W-H965T[&S%[$-T-FVP225]=]OFI9"TU"[[NN%M,GS MG'.>Y)PT26^#R2^Z0HB!WU$8T\O6BK'UA:91;X4B2,_Q&L6\9X%)!!E_)4N- MK@F"OB!%H6;JNJ-%,(A;_9YH>R3]'DY8&,3HD0":1!$D'UML.('$8II@&- T.*R-3 N9H:9$@3BOP!MZ-XS M2*6\8OPK?9GXERT]C0B%R&.I"W*)<4#NUY^&0BO]@DV/U%O 2RG"4DWD$ M41!GO_!W/A!-"&9.,"4"=ZPF6#G!D@GV 8*=$^RFA'9.:#^F#2&W!Y\D8Q&D5SAGAO0'GL?XW7NB3V,,1 H^(@/D*$@2.Y[S8_21$ MX&$!),05I($'!K$/1D&8,.1G''H"CD>(P2#D3V?@93X"QT%[AA,+8YXU'I?>>QKBX-$3-RX4,,R'F 2$6N,KYAUAC0^*@60VMNAW9HUEH<(>\<6,8I,'535P0TJJ?/T9K3]8/T<3W]+HEK MZ=?U]'M(:H._::S=Z"KHMXVU*^F3QMJ5]+O&VI7TZ;_-^^S+0U=*0ZNH<$O8 MLPY5^/@93+X-'^['X''\!.:W@Z]TM! 7*[W3)HK YEE4&75=!'=LN8VY4ACIES&T5 M3*LAV)&=W"DRW7<9,JYBV:YMET*P*Q2>%K M^. =$;[IRM=R\) PRO@Z',3+TVS%WZ[:JG+(?+3W S,-2>), 3(,2QV^4X3O M_'OXXC/%=WH +19\ZP?P O!4C?@.$+TEP3L,4RN M6J);2'3_/XEU\;O5\;?;4J[.%"#3,=4*.H6"3JV"W;9B$.$D9GE"@6/^O4^H M#]:\7X1]H@C[JM[V#^.G:LG)2.Z>#/U%GR](-G=3_;"\%J&PO=V]R M:W-H965T0-J2"Y?MKB 2MVIY@"+H MY:'J@TD&8JUCI[:!W;^O[80TW2ZH+XG'GG/.7#P>GH5\5AFBAI><<37R,JV+ M1]]7288Y41U1(#R%SHHTI#[XJ))+4@7+F1T$P\'-"N1R$>+;&(AUY@0T(&2;:,A#S.^$4&;-$)HQ?%:=7 M2UI@")RA#5*V&9$(K161$IBZ]N& MU@PUH4RUX0,H>ZJ&OC;"%NXGEP M)]%-QADF'>B&=Q %4?!.0-/_AHNRI?5N/?AC=]_?[$_,@U#.[Q^:\C59$GF@7 '#O:$,.OF&)5AA6HG\GX-U!+ P04 " "36VQ2E%]+ M?LX" N!P &0 'AL+W=OY%SUG4SK\LIU59+1@JA+45*.*PLA"Z)Q*I>N*B4E MJ145N1MX7MLM"./.H&>_/]DBSIE.J7\EGBS*V]I*R@7#'!0=)%WQGZ5Z/8V%N#WXQNU,X83"9S(=[, MY#[M.YX!HCE-M/% \+6F(YKGQA%B_*M\.G5((]P=?WJ_M;EC+G.BZ$CDKRS5 M6=_I.)#2!5GE>B(V=[3*)S+^$I$K^X1-9>LYD*R4%D4E1H*"\>V;O%=UV!'X MK2."H!($WQ6$E2"TB6[);%ICHLF@)\4&I+%&;V9@:V/5F WC9A>G6N(J0YT> M/.F,2KAEG/"$D1RFFFB*NZ3!N(.S*1Z;=)53>%K /5_C@I ?,!)%*3A.U#F< MC:DF+,?13WB9CN'LQSG\ ,9AEHF5(CQ5/5_\X?!S=#W_!=#:Q2BH2J M1KBM@V@G;-"*NGMLAT9^)XR;V:*:+3K)AJ>:X'/C?;Q#*S^*.MX>G[O3S,*F9]:_R,%_4$L#!!0 ( M )-;;%*0R,$>Y@( $() 9 >&PO=V]R:W-H965T\E(QFI.90++,,BQ>+PGCFY'E M6F\#]W25*CU@CX<%7I$Y40_%3$#/;E@2FI%<4IXC098CZ\(]G[@&8")^4;*1 MK3;2I2PX?]*=ZV1D.5H18216F@+#WYI,"&.:"70\UZ16DU,#V^TW]BM3/!2S MP)),./M-$Y6.K,A""5GBDJE[OOE!ZH)ZFB_F3)I?M*EC'0O%I50\J\&@(*-Y M]8]?:B-: #?X N#5 &]?@%\#?%-HI";Y#0T<"F&\8;@X9J:*Z7 M<:X$S%+ J?&=2HE 5S3'>4PQ0W.%%8%E4DC3H>,Y[)ND9 3=+='WYY(69NXB M3] - ?=2SA)TG16"KPU*GJ#C*5&8,FA]0P_S*3H^.D%'B.;H9\I+B?-$#FT% MRG5^.ZY57E8JO2]43DE\AGSW%'F.YW3 )WO#W<%'N U^-:9YC6F>X?._X)L) M.$9"O9ZB&<-@!Q35,N?Q!L+1-=@H_^Q(YC?)?),L^"+9.[%.PQK7:ENR/(#]QNU?U&=7]/U8^W)%L0L6O[A0UI>/B]'C7)HD/N]>B3 MJ6[/"9TMZSNB@K!U(CXH'S3*!SN5=]^&^RR$Z[Q?U<[AE\)MO0SN(1>C9F_? M*;X3;E\\'5'>( JW%L-N/7#ZZ^(6BQ7-)8A: LPY"V$U1?5@5QW%"_/F+;B" M%]0T4_C((4('P/R2<_76T<]H\]DT_@=02P,$% @ DUML4OKL=J]1 P M9 L !D !X;"]W;W)K&ULO9;?3]LP$,?_%2O: M T@;B9,V!=16@C*T271#(,8#VH.;7%L+_^ALA]+]];.=D!::!H:T]:&)'=_W M/G>.+]=?2G6OYP &/7(F]""8&[,X#D.=S8$3?2 7(.R3J52<&#M4LU O%)#< M&W$6QE&4AIQ0$0S[?NY2#?NR,(P*N%1(%YP3M3H%)I># =/$U=T-C=N(ASV M%V0&UV!N%I?*CL):):<!K M/@@B1P0,,N,DB+T\P @8'F_9/ZN0_>!C,A&D:2W=+"Z%-FZ'[)&@XL%NG%0K5&B8%@PQ.@6T1P7B M/N6-V]7N($DKVQ;8;@W;;=4ZR;*"%\R^7SDB7"I#?Y?AG$O+0554,39JG2 MW7"/&S'3+4R>[XW0-#$<;3%T>SL1<+0NL]'[(#J--33:?G-W0VS4>MP*,::"\H*C MNS'P":BV"H3CM6C\[PL>7I=7G+3&<.L^2,)Z68"B,O?E;05$-5>W5\2P-VWC M6E=BW%XIQ^3QS;E=5TS<_0^Y7=S=:MXXAND%_.GKH7T?=!:INP_QT3-J-"(P=1*1@<]FVA5MG3EP,B% M[XHFTM@>R]_.;1L,RBVPSZ=2FJ>!&PO=V]R:W-H965TP MD_MQ[O'-R]AXOW+%5 MJNT%?SI>TQ7,07];WTJS\^LH")?X[8P$UJ&T^,Y@HW;6R):R M$.+>;JZ3B1=81)!!K&T(:OX>8 999B,9'+^KH%Z=TSKNKA^COR^+-\4LJ(*9 MR'ZP1*<3;^BA!):TR/2=V'R$JJ"^C1>+3)6_:%/9!AZ*"Z5%7CD;!#GCVW_Z MIR)BQP'WCCB0RH$\U2&L',*RT"VRLJPKJNET+,4&26MMHME%R4WI;:IAW![C M7$MSEQD_/?VB4Y#H/>.4QXQF:*ZI!G-,&MEPZ&QN^B8I,D!?ENB::\I7;&%V METJ!5J_1V15HRC*S.D??YE?H[-5K] HQCKZFHE"4)VKL:P/3)O/C"M*[+21R M!-(5Q!FWH==I@Z-0A+T:Z,]A+T:8:\3X64<%WF1F39)+#RIV3]JGT@7R&VD_D[^ M^U43JL2!01-TP<-(H;/*&ULO5==;]I* M$/TK(ZL/B=3&K,U'J ")D%8W4J)&H;U]J.[#@@>\BKU+=Y>0]-=W=FT,).!+ MI8J7L+N>.7-F]G@\Z:V4?C0IHH7G/).F'Z36+CZ&H9FFF'-SH18HZ>*=\BR,&HUVF',A@T'/G]WK04\M;28DWFLPRSSG^N4*,[7J!RQ8 M'SR(>6K=03CH+?@XU[<(*)1$Y2B.4!(VS?C!D'T>L[1R\Q;\"5V9K M#2Z5B5*/;G.3](.&8X093JV#X/3SA"/,,H=$/'Z6H$$5TSENK]?HGWWRE,R$ M&QRI[+M(;-H/+@-(<,:7F7U0JW^P3*CE\*8J,_XOK$K;1@#3I;$J+YV)02YD M\ ME(V0[AK'5M-307YV\,6FJ.&SD%Q.!<]@;+E%NB8+#@[.QJ2;9)DA?)G!,%?: MBE_91^ML[^*:A&O M<7H!,7L/42-J["$T.MJ==6OHQ-5EQ!XO/H!'UR L?K@E82=OBPH_;LD>;NA^ MS'\UT9I5M*:/UCP0;>J:)V_6>;.VQ*VXE=E+FQ:VS9Q M+"U-;=R/DN\H0-6QSQE7/R;1> MWKJN2C+,B;H22^1F9BYD3K3IRH6KEA))6HARYOJM5NCFA'*GWRW&GF6_*U:: M48[/$M0JSXG0R(PH'@KW15&<]Y]J!%.=DQ?2+V#Q@F4_'^DL$4\47 M-J5MRX%DI;3(2[$AR"G?_\FVK,.!P&N?$/BEP/^L("@%09'HGJQ(:T@TZ7>E MV("TUL:;;12U*=0F&\KM*DZT-+/4Z'3_A\Y0PCWEA">4,)AHHM&LD@;K#BXF M9MND*X8@YA GB5QA"J.MV4,*U25<#%$3RDSK&[Q.AG#QY1*^ .4PS<1*$9ZJ MKJL-I8WE)B71W9[(/T$TQ.0* N\K^"V_U2 ??%KNW?PK=TUMJ@+Y58'\PE]P MJD#3A]$+W(^?XJ?!./X.DVD\'3V.GJ8PC*U]= XB1S?!$5V#3>@UPW4JN,Y9N#%/1(Z@R=:4<$EV M9,:P":]3"^V'-T=X=9L@")KQP@HO/(M7G+,FGK 6*SRN5MW$ZYQ8RJC"B<[B M?!QE+(]R$UE4VT+!=6TEZT9^)_*/X-R#^\F^#8]$+BA7P'!N9*VKR.0F]_?M MOJ/%LKBR9D*;"[!H9N:)0FD-S/Q<"/W1L;=@]>CU_P)02P,$% @ DUML M4@1ZA96) @ ;P8 !D !X;"]W;W)K&ULC97? M3]LP$,?_%2OB :2-_&I#A])(H06!! S1,AZF/;C)I;%P[,YV6_CO9SMI5-JT MXR6QG?O>?>YL7^(U%V^R!%#HO:),#IU2J<6EZ\JLA K+<[X IK\47%18Z:F8 MNW(A .=65%$W\+S(K3!A3A+;M2>1Q'RI*&'P))!<5A46'U= ^7KH^,YFX9G, M2V46W"1>X#E,0+TLGH2>N:V7G%3 ).$,"2B&3NI?CB)C;PU^$5C+K3$RF 8(*&3*>,#ZM8(14&H<:8R_C4^G#6F$V^.-]QN;N\YEAB6,.'TE MN2J'SL!!.11X2=4S7]]"DT_?^,LXE?:)UHVMYZ!L*16O&K$FJ BKW_B]J<.6 MP.\=$ 2-(/BJ(&P$H4VT)K-IC;'"22SX&@ECK;V9@:V-5>ML"#.[.%%"?R5: MIY*?J@2!;@C#+".8HHG""O0N*63$4H4 7F&3L>@ M,*%Z]!V]3,;H].0,G2#"T+3D2XE9+F-7:4P3S,T:I*L:*3B -(;L'(7^-Q1X M@=WU,[JY>TP?1W?I/9I,T^GUP_7C M%(W3:8I^IS.IA#Z-?X[$"MM8H8W5.\A>@!"0HS46 C/UH2_*"M@2NJI8NXJL M*W-95\E@$+NK[4IUF/BMR2?"7DO8.TKXN@&CS3'XZ$*K??2WXO:B';1]D_"B M&ZW?HO6/HHTXLQO1HND3V@77WXOL[;#M6PQZW6Q1RQ8=9:NOSG_ HKW=\L/> M#MJ^C;XE.VSN5CLPK?@!BSEA$E$HM,H[O]"9B;J]U1/%%[9#S+C2_<8.2_U' M &$,]/>"<[69F*;3_F.2?U!+ P04 " "36VQ2AFA@1DX# !O"0 &0 M 'AL+W=OG3R#=64EQ ^[^)Q/O< 2(<-, M6Q/$_.UP@8Q92X;CY\&HUYQI%4^?C]8_.N>-,RNB<"'8-YKK8NJ-/B_>8W4(<_@-1$ 4=0(L_5@_3 M'IRXR43L[,47[#V*71UX$R>3!9X3F<.3%'F5Z=OC\+QL!4\MZ( M_=]S_* Y?N".'UPX?DZ8*0$$HF&%&\HYY1L0:]BBI"+ORE=M+W'V;+?8S4;I M>.+O3D/8(3-.&YDWH,,&=-@+>HR :6&PK\-"L;.@:CO#D\/'<=("[) )A]V M20.8] (VN9*XH[;==;$E9^<.XA;:N4@X3KK11@W:J!?-=&7-7)4ITT1RA+R2 M-L^F"?0D>G0&?]U3CN2';:8CR7.:W8-XAI M@YCV(BXJ*>U'NQ72C27#B$UOW!\K@1U[8Q=Y>AZY4=HNABZA).QF#X/7YA_T MTC\(OKG1*,N_ACX8/OVR!^UOJT,F'K60_9/15:+&ULE99M;]HP$,>_RBGJBU9:&_+ MTP1(!3:MTJI6I=U>3'OA)@>QYMC,=J#=IY_MA)1"B+8W$#MW?__N?/9EM!7R ME\H0-;SDC*NQEVF]_NC[*LDP)^I*K)&;-TLA4,S_L='I^ M3BCW)B,W=R\G(U%H1CG>2U!%GA/Y.D4FMF,O\'83#W25:3OA3T9KLL(%ZJ?U MO30COU9):8Y<4<%!XG+L70PD3P+\O:1UW'_>J7]VL9M8GHG"F6#?::JSL3?P(,4E*9A^ M$-LO6,73M7J)8,K]PK:R[7B0%$J+O'(V!#GEY3]YJ?*PYQ#T3CB$E4-XZ!"? M<(@JA\@%6I*YL.9$D\E(BBU(:VW4[(/+C?,VT5!N=W&AI7E+C9^>W.D,)7RF MG/"$$@8+332:7=)@Y>!\8$K5'##88Y+E!)3^$ZD)%R_P@-N MD!=X >=SU(0R=0&7\+28P_G9!9P!Y?"8B4(1GJJ1KPVY7=]/*LII21F>H Q" MN!5<9PH^\133]P*^";F..]S%/0U;%>>87$$4?("P$W8:@&;_[!X,6W"B>ALB MIQ>=T+L5FS+K)D^?7C3:*.%>BK1(]%N.KY-$%F:3?CP(QL"4\9;(]&?+\G&] M?.R6CT\L/R7,[#\"T?",*\HYY2L02UBCI")MVJ]2K^?T[$VQF83][LC?[*>P MP288U#;O0+LU:+<5M*HR>U!-_1'66$NE1'=OW3B*#]@:; 8GV'HU6Z^5[3H7 M4M,_Q%U/)GGI[HS($KH)M7>$<1GU#O/88!1'03-LOX;MM\(^"FT*J4;<[DJL MA;5_A!'%AVD]MMDOBW>D@YITT$HZ*PRA.1EKF]V#S/X+]N X>V&W=\#=8!0, MXV;P80T^; 7_*OCJ4J/,_X]W>'1J]@JSI&TP.2P'?Z\EY"A7KE,J2$3!=7E+ MUK-U,[YV/>A@?FJ:=-E3WV3*#G]+I+DJ%#!<&LG.5=^D3Y9=LQQHL7:-YUEH MT\;<8V8^-%!: _-^*83>#>P"]:?+Y"]02P,$% @ DUML4@'%6&:@ @ MM08 !D !X;"]W;W)K&ULK55-;]LP#/TKA-%# M"JSU9YRN< SDH\-ZZ%K4[39@V$&QZ=BH+662G'3_?I+L>&F:!#OL8DL4^?@> M:='1AO$742!*>*TK*L96(>7JVK9%6F!-Q"5;(54G.>,UD6K+E[98<229":HK MVW.LD55)\8&#:.J:\-]3K-AF;+G6UO!8+@NI#78N=G:/DI4U4E$R"ASSL35QKV>A]C<.7TO"M!&2U5VP8E"7M'V3UZX..P%N>"3 ZP*\ M_8#@2(#?!?A&:,O,R)H32>*(LPUP[:W0],+4QD0K-27574PD5Z>EBI/Q+4U9 MC?!$7E' (%$?2=94"/RT8S)MF7A'F+@>W#$J"P$W-,/L+8"M9/7:O*VVJ7<2<8[I M)?CN!_ ['$W3\OM2^P?./E?K+[/[N!IXFWV\2^#%9",G51_SS M!'+0(P<&.3B"G+"&IZI_+%<],'T:5$RH[BS:YG5&J9MW#<^TE)A!(HG$@WUJ MDX4FF9X"ZSBX&H61O=ZMW7NG"W?D]4YO= Q['&PO=V]R:W-H965TD&E;7." !4@%=AJ>U$M*NWNM4DF)&IBL[8#[=NO[820YJ2J-V [ M\X^_&3N9F9TH>^,1@$#O:4+XW(B$.-R9)OI2EF'TM(Z&ENV,9YX3G>1T(M MF(O9 >]A"^+UL&%R9I9>@C@%PF-*$(-P;MS;=RO;50)M\2>&$Z^,D0IE1^F; MFCP&<\-21)" +Y0++/^.L((D49XDQ[_"J5'NJ835\=G[@PY>!K/#'%8T^1L' M(IH;$P,%$.(L$<_T] N*@$;*GT\3KG_1J;"U#.1G7-"T$$N"-";Y/WXO$E$1 MV%Z'P"D$3ETP[!"XA4!GSLS)=%AK+/!BQN@),64MO:F!SHU6RVABHHYQ*YA\ M&DN=6#P2GZ: 7O [<#38REL29 F@WR':,'J,]6D-ED @C,4UDIE#5<4U&JQ! MX#B1HQOTNEVCP=4UND(Q02\1S3@F 9^90G*JW4R_8%KF3$X'D^V@)TI$Q-%/ M$D#PV8$I RRC=,Y1+IU>CVOP;Y%K_T".Y5@M0*LOR^UI#XY;)MW5_MP.?ZN, M,2#BKL?5L'0UU*Z&':X>( "&D[8DYT)/"]7;?%PXWLP\5L-NFEBEQ2><48DS MZL79"BR@#2:7C2H[J4Q^@FF:N!TT7DGC]2>',OD:DS8>K[&9/-L:4-/FQAVW M$XU+HG$OT0L5.)'OM3[_-JYQDVM8/[6FS4T'UJ3$FO1>R#6$()&"OALY+7U- MOWLCI\T3]NI);[%Q)^W1V=;E(V=][UH6NE'K&Y #M9C8'3R5CZ[]W8M9**O; MC>I$+2;##B3G@N1\X68&Q45H)7-:CJ]^-]N,IFX'W.5[:;M?@#M<*M+N7)%D M(R.KC:Y(0E6D5G"W\9GS;*<.WC1R)UX-W*P4VA387O/< MZ\I>6U^JWD<7\(N;O'%ZPFP?$XX2"*5+ZW8L4\GR7B2?"'K0Y7Q'A6P.]#"2 M_1LP92"?AY2*\T1M4':$B_]02P,$% @ DUML4D=V]^):! ZQ !D M !X;"]W;W)K&ULE5AA;]LV$/TKA($-#M!*HN38 M2><82)RD,] L@9UV X9]H*63Q54B58J:T_WZD90L.XU$:5]LD=9[O,<['N\\ MWW/QM4@ )'K)4E9 Y,_1)SD1&IAF+G%KD $AE0EKJ^ MYTW=C% V6LS-W)-8S'DI4\K@2:"BS#(BOM] RO=7(SPZ3*SI+I%ZPEW,<[*# M#@:?UCBF0:8-[Y0V!_TT@F5Z.+ M$8H@)F4JUWS_*]2"SC5?R-/"?*)]_:XW0F%92)[58&5!1EGU35[JC3@!X&D' MP*\!_H^ 20<@J &!$5I99F3=$DD6<\'W2.BW%9M^,'MCT$H-9=J-&RG4KU3A MY&+%0IX!>B8O4*#Q1D5)5*: 'F-TC=80Q?'8#R"CHSFA3,TO@5):%J JJ8U>_Z#WQKRT&+0?#\:7%G*#9_L#P!5W;_]OR M\>$./5__<;=!?UYO"RE48/]E89XTS!/#/.E@OH<(!$E1T;A+:'>-28$(RD&$ MP&2K1^RT/G8\[Z>VC?O_N%>ZSAM=YU8B'7Z :!5D4H?M.\14NN,QBFO)6V 0 M4SE JWTIS_';I=IAOH.M2J>-TJF5Y[.S<="FW.9$2'1_D-PORL[J.=-V4788 M?KL7KT3-&E$S*\_'E&^5BU9,$K:C6Y5J/O']>YU^HD/F&']G;DJ3:LD MS- M")57HE/,:NA>V(UI\52U%W88GCD3ZV9<-)MQ88_EA AXKV^A""E!ZFHN MJE3;+\Q./#86M@&7/4 3\V<6;9>-MDLKTQH*("),$&$1@A>E1=_^LM:W_IED M^2^W9R@4$ TZJO;5QD&+W97@'B">.A=VQ=@[WJ6>/>?6$:O2TG!A/9QCOU-9 M#]+KR;CXI$; @W29&R2BZJH7P,(AYZ^'>(SU"6P7UX.<:G56M_E'>;[]&%*V M([G2B/[FVT)5M+D:2)0+OA,D:Y5E)U2R@BY9=F2OSXZ%!0[LMP<3JGS;,?JO M2BXZ((??BCW,WMOL5VNSX_11F_;X[%C=8'L]\86D995+2*I:$3(P'.VDXTGW M6;,CL>>\FI4!%I$F=YZD75G8 0M3N)E()N2ZG+]G[=]B4# M9];A43M..=1>ZN!CK8/M]<6C3$!4E=P .7VU2D>)VH.;O"V-7JLY%CG87B$< MNR'MJH&%=P_G95?AUH,+ IV,VF2Y)VUC!F)GNNE"52(EDU5'UBP\/@C\QG%CC^;@+7G3^MTO'K-9U/6$4&#J/ *C M88T+%,(#$8V_]IA1>:*632.(,.<5<(]Z\W/ MN+=GZ/%2+6SXA\U>MAM!6EFGY5Z9&$BNZI%M]WXX4NB-+B@D>X7DH\+@@D)_ MK] /AM;,@EE+YMA\:O0&C)#+OVF\?H,DV'#9-C*Y!L2 ZH7L&:B8G7R"Q'K4CT0E3=+,)5AO6L UR= ML^4$QJV$%LP64+*=IV!#3/ Z 9RO']>@J.U0 M % EKE1F:4R1HB [QW!\PG X.?7K^#2@1Q>MF#163%JM>,AS#-TC>)$*'GJF M6J5<\! 3U_"P3=':<(Y;ZIC65\=#!G8@-UH"RE+H'2)0X*?OH,L03KA%DW(O MSU0&:[2.JU7M%.L,3QVE2ZU0*9_-7NKXJ&#&>_).ZNI\CD].0W(PN3UU2GS4 M%"2:5>B55#T\;EUOF]VF'=^%+O1A_Y[:=-U5O\/4/?XK,RNN+ C,";)[J^62^<+D/K>=..&EF8%O2I@<8+T'FNM3LL_ 7-Q\O\'U!+ P04 " "3 M6VQ2-.4SX7X# B"@ &0 'AL+W=OMO M)1P7C&'2>P%KM;OZOD]::2<[I;^:+:*%ET)(,PVVUI8?P]!D6RR8N5$E2II9 M*UTP2T.]"4VID>4^J!!A$D5I6# N@]G$V^[U;*(J*[C$>PVF*@JFORU0J-TT MB(-7PY)OMM89PMFD9!M\0/M4WFL:A4V6G!!M'+L![_,EQ M9PZ^P5%9*?75#3[GTR!RB%!@9ET*1G_/>(M"N$R$X]\Z:="LZ0(/OU^S_^+) M$YD5,WBKQ%\\M]MI, H@QS6KA%VJW6]8$QJX?)D2QO_"KO:- L@J8U51!Q." M@LO]/WNIA3@(B-,S 4D=D+0#^F<">G5 SQ/=(_.T[IAELXE6.]#.F[*Y#Z^- MCR8V7+IM?+":9CG%V=EGF:D"X9&]H(&KA_UFPA]KF,,2,R4S+CCS@I/M<8NP MP V7DLL-S&4.GV3N/PM52>MY%6>17(QXQUF-]"+WT,2)5$'H-LWA\?C"W!ZS6[U?+[> MF7RM+5'K\TJ_AT\OF:@.ML? /6K2W&^>533/Z$#584NTE98&_EXJ(8 J9,=T M_L\%R/T&=QL]S^)A M&D_"YT/]3YV203]IG(X@#QK(@XN0YWG.G;[&7Q YD-*6)"J5J-6I!/7>)1-^1A WEX$?(2\RK[_YB')X ^Q.FXA;K#:31.NW&/&MRCM^+. M*W3'0K#2H(/,RE+PC*T$@K',5M9;!2^X]37<261T@K&M_26/(PKCAL+XY\L4 MZ8:_4*#CTP,P'+7U[G(ZJ.(CL''TX]6*+L+]G1JO;8%ZXYL0 YF[8_ 6:-K"V7]02P,$% M @ DUML4CYA$/A8! B! !D !X;"]W;W)K&ULK9C;;MLX$(9?A3!ZD0!)).KLPC&0)EML@"X:U&E[34NT+50279**DS[] M#B5%LD6*38'>Q#K,#+\9D?.361P8_R%VE$KT7!:5N)[MI-R_=QR1[FA)Q!7; MTPK>;!@OB81;OG7$GE.2-4YEX7BN&SDER:O9^#+!:MED5?T@2-1ER7A M+Q]HP0[7,SQ[?? EW^ZD>N L%WNRI2LJO^X?.-PY?90L+VDE"DK1/,7 M'3I;=X;26DA6=LY 4.95^TN>NT(<.>!@PL'K'+RW.OB=@]\DVI(U:=T1298+ MS@Z(*VN(IBZ:VC3>D$U>J<^XDAS>YN GE_=5RDJ*'LDS%>AL!;,DJPN*/F_0 M'=U0SFFFWJ$;(:@4Z*;*T*>MRQ6I J$PM' J8:S$D[I \MDC>!=$?3*^3C"^2YGFMPOWVS.YZ?NCM0G+Y" M7E\AKXGG3\1K4[<$\OM ?A,HF CTS\\ZW\,*D!>HH##S=JS(!((:0;TDJ;;Y M&@I/2L9E_HNH.7Z!*BI-]6O'B9IQU#I]6N(X6CA/QT72;6!E]S8G"01] H$U M@<][R@&LVK;\J!AF@HFR#18>$23^?$2IV\1A:*8,>\K02GE?/4&-&7]!I( F M1:K4C!=J0X?!&$^WB?!$$:,>+[+BW:0IKV%5T6?HQ,*,%FG#8F^,9K"90HM[ MM-B*]IUP3BH)A5.,I#"AQ?JPB3=",]C$OADMZ=$2*UK?C#B%KUM3$UJB#>OA M8(2FVP1'E3U!F_=HJGC<)2!P2B<6MOX M2*ZP-8/5CG!ZJ80[0Z!<:@TUO=*(B?5*A\D8TV 434P)/&@&]NRM4NXHG^S? MG?/IXO7'8":C8 )LT"!L%Z%5O99,FM=VYWK2[N*Y]EUUJ]C'T038H"W8+B[? M2%&3=F?WVK:-C+IB7.) 6^=&,TAF@G+0%FP7ET=5.[5-;+N16NG$L#_H6 T2 MXR=XC&JPBOQX@G20&1Q9MRV?IL3Y--Z@#=@N#G]O]X)U??!"K2H&HV2J*(.* M8+N,-*>42[:YK&'[TGXX=,9.MS7BW AM4(Y8ZR6ZD1],B#(>] 7;!>:M&QJL M:X:V=G63"3QOT!3/KBGV5N<95&"L=08;G$Q@#4+A_48H+(W.TWM^G(Q;B,$H M"B;TRSLZ3-B%P=! ?K.-[@)&=EC=2(=UCHZ)ZHS^'^';O!(P[3?@Y5[%D"MO MC[WMC63[YN2X9A+.H+]A3+[>J,-H_\^'Y?]02P,$% @ MDUML4H'.R;(^! 2@X !D !X;"]W;W)K&UL MM5=M3^,X$/XK5N]%("$2)_1MKU2"PNTA;0'![>Z'U>EDDFEKK1-G;;>EI_OQ M-W;2M*6IX3[PI4TBV2PH3-A7F0RS^@(M2V>(D4VOV2934W;)%D MKHW,*F.,(.-Y^<^>*R&V#.+> 8.H,HA>&$3Q 8.X,H@=T3(R1^N*&38<*+DD MRLY&-/O@M''6R(;G=AD?C<*O'.W,\*X Q0S/I^03H!J:'-TR94<6<$R.KL P M+O3Q(##HRUH$285[6>)&!W!I1,8R-S--KO,4TEV (.L(XW6D5Y&7L0K2$Y) M3$](%$;AY\F[1#LU@2[7H(W>8)18QG29*)D1@3+ M4R%5BLF=X)]=9%W2F$F!A+-"R85CVIB1I;/V5I#=7GPPR%X=9.^U()53$O7V MB.O62-GW'B_N[AVM/ M@M)PTUG"]ZQ^=*N%46_88_Z,Z'(RX0DJFZ=DR11FA=5YPA*[!JL3/!_,<117 M0AI;&?XEZ][1V-OH7KK0?B]L-\M+HTVDD3?2CYBJD),O3 A8D6]CR)Y >478 MM!KZKKV&;IH-]5?OA[+7DK+7ZI.RQQSA#G!5O?FLX(>,2U-?>)L60/T%MEEB M7._QS>WM]>/=GQ<^-YOR2SOO*O>F#%)_'7R'Y-ZOA1T:A;T#R;VIA=1?#.]! M<5GV(UNCISG_Q^J#9S.#Z0+/>// H%])%+^+?G5D\*;*IMI1?[G;R^1\;I,% MY7OU/'E90>]4B!<"!ENG\@S4U%U6-'$'DO+86X_6%Z(+=PUX,7YI+TKNM+^! M*6]98Z:F/+=]<(*0X6D7XU'EQ:5\,;)P9_\G:? FX1YG>-D#92?@=YLQZQ?K MH+X^#O\#4$L#!!0 ( )-;;%))'AY.J@( L' 9 >&PO=V]R:W-H M965T)#?=WX^2'2]-'7.9P1!"BMM&"B^7F ":6J(4,;OBM.I MMS3 _?6._;/-'7-94@43D?Y@L4Z&SJ5#8EC3(M7W8OL5JGRZAF\E4F6?9%O% M>@Y9%4J+K *C@HSQ\DU?JSKL ?S>$4!0 8)#0.<((*P H4VT5&;3FE)-HX$4 M6R)--+*9A:V-16,VC)LN+K3$KPQQ.OJ>@Z2:\0VY!:R&(J<+/"AQD0(1:[(2 M62XX<*V,)0J)'H4&GAXB:F1JD6?D= J:LA17Y^1Q,26G)V?DA#!.'A)1*,IC M-7 U:C8[NZM*W[C4%QS1YP?D3G"=*#+C,<1O"5Q,MLXXV&4\#EH9I["Z(*'_ MB01>X#4(FOPWW+]JD1/6#0@M7WBL ?/9_>CAYML7VV3;/N:FE"R]"R+^?%?HGX0#MR7_;HTQ/B7==U:7K=5 MWA.5C"[QK+6K*TFZ>SL'_>! 74-,[ZI97:]6UVM5MTB$U.<:9/:!OMZ[O&ULA95=;]HP%(;_BA55 M4RM-S0=)H!T@T=*ME;H-E7:[F'9AX(18=>+,=J#]]SMVTHPN 6[PYSG/>V+\ M>K@5\EFE )J\9#Q7(R?5NKAT7;5,(:/J7!20XTHB9$8U#N7:584$NK)!&7<# MSXO=C++<&0_MW$R.AZ+4G.4PDT2564;EZQ5PL1TYOO,V\<#6J383[GA8T#7, M03\5,XDCM\FR8AGDBHF<2$A&SL2_O/)M@-WQ@\%6[?2)*64AQ+,9W*U&CF<4 M 8>E-BDH-ANX!LY-)M3QIT[J-$P3N-M_R_[9%H_%+*B":\%_LI5.1\[ (2M( M:,GU@]C>0EU09/(M!5?VEVSKO9Y#EJ72(JN#44'&\JJE+_6'V D(_#T!01T0 M6-T5R*J<4DW'0RFV1)K=F,UT;*DV&L6QW)S*7$M<91BGQ]\+D%2S?$WN 8M3 MY'2.![\J.1"1$)T"24I=2D F-DPSW((+W&PFG-$%XW;RC)Q.05/&L7="6$X> M4U$JFJ_4T-6HT]#<9:WIJM(4[-$TA>4YZ?D?2> %WM-\2DY/SMYG<;'*IM2@ M*36P:7O[2IW=/$P>[[Y](?L]G#/=E1J]]5 M:A45VRAS139CW_-QYZ:#%3:L\!@KZ&)54=$[5M#K9D4-*SK&ZG6QHA9KT!]T MH^(&%1]#A5VHN(6*HSVH?H/J'T-%7:A^&]4/NU&#!C4XAHK)!YH5G_!. #IG MHD%VL0>=]K$I6[T0UT**PWKP0 M&IW>=E-\6T&:#;B>"*'?!L;NF]=Z_!=02P,$% @ DUML4L/9(=:8 @ M2 < !D !X;"]W;W)K&ULO57?;]HP$/Y73M$> M6FEK?E&@%40JL&G3AH:*NCU4>S#)0:S:<68;:/_[V4[(TI:@OFPOQ&???=]W M=^8\V@OYH')$#8^<%6KLY5J7U[ZOTAPY41>BQ,*CJT_L[A!\6]:JW!9K(2XL$:7[*Q%UA! MR##5%H&8SPZGR)@%,C)^UYA>0VD#V^L#^B>7N\EE111.!?M),YV/O:$'&:[) MENE;L?^,=3Z7%B\53+E?V%>^_9X'Z59IP>M@HX#3HOJ2Q[H.K8"PWQ$0U0'1 MRX NAK@.B%VBE3*7UHQHDHRDV(.TW@;-+EQM7+3)AA:VBTLMS2DU<3KI!>'9 MUW,@10;?=8X29K@V+AE,1:$E76U=L1>,% K.9J@)9>HP)#M:;)0K'RSKBVLJ_@#W<^0KE+]. M\/4:OI[CBSOU=S0,9E2E3*BM1+C_9GS@BT:N3G%>-IR7)W.<$YWF)C5(6Z0* MM #D)1-/B.K8S:A ^P[4CI==$@=Q$)BF[=K].N(6#MINSS3W&\W]DYJ/UJFC M6>HM#1HTQ(/_UJ!APSG\%PT:OJ[\U>O^'/&*7K?';PTECG+C9K4R@K:%KO[< MS6[S'-RX*?AB?V*>B6JJ_X6IWI@YD1MJTF*X-I#!Q<#<'%G-[;2=46VQD4J+M@&4_5ER7B12O7*5Z[8<)PN M#%3D+O*\R"U20IUAWXP]\F&?E3(G%#]R(,JB2/GK".=L.W"@LQMX(JNUU /N ML+])5WB.Y;?-(U=O;J-E00I,!6$4<+P<.%?P\A[Z&C 2?Q&\%7O/0(?RS-@/ M_3)=#!Q/>X1SG$FM(E5_+WB,\UQK4G[\6RMU&IL:W'_>:;\QP:M@GE.!QRS_ MFRSD>N#T'+# R[3,Y1/;WN$ZH%#KRU@NS"_8UK*> [)22%;4L/*@(+3Z3W_6 MB=@#E!X[@&H '0/!"<"O ;\K$-1 T!4(:R#L"D0U$'4%XAJ(NP*]&NAU!9(: M2(Z!Z-3$>;N9\[K:@,UD5T5758DIL4DJTV&?LRW@6E[ITP^F3@VO*HM0O:3F MDJNO1'%R^(1?,"TQ&#.:82IYJ@M=? 5SLJ)D2;*42C VCF"NAE.Z +>8K7BZ M69,,7*E5+,#9O%J/X(\EV.D;O8)'SA9E)L'ORN0Y.)M@F9) MZOQ-Y]AA8L%O.\=NQ>\ZQV[%IYUCM^*S_S?O]Q].W4$9^LVJ]HT^_X2^W=*; MTNK0U8?7=[T.P53B0OS38B)H3 3&1-"^<5A7;45&AM1G^LL01KT8]=V7_:7P M7@IY/9V]?:F)15>8)-&AU+7-8H"20ZD;JU_AD5^W%BGD)_!0ZL[FEQ<$AU)3 MBU20Q$?>S]Y+Q1Z$\:'4_7NI,$&1WT@=3&/83&/8.HUWJN50.S7.B&F2_(G9 MXM$$S%7;Q+@ WQ]P\8QY6\E$C:WHLZHR;DS$'ZW*646&^W,1A^AH]N\M4BB, M$WN6>XU;O5:WIE1L=CVD2N\#EISE;/4*YJ]"A]XERTEC*_FL+$/OK6OP/ISG M&MU/H1^'P7$YV\10#$_4,]QK:&"K:W-86=67N#D?C(W@Y MA9;QF;YUF7;U37UU95/'[HI0 7*\5*:\BUB5 Z]N0=6+9!O3O#XSJ7I0\[A6 M-T?,M8#ZOF1,[EZT@>8N.OP%4$L#!!0 ( )-;;%+Y6>R.$P4 P< 9 M >&PO=V]R:W-H965TQ"E^HH"ME\N0_KS!"=E>M6!K-S".YPN> M#5B][BJIULDGR)W88\['4IV0*:V0N^[")?ISE> MK*PXS;;4A%/Q:RQPO#?&&YRN,>B3-,(IIV&VT-DYF,3S-)[%49ART,\=P50, MA^D4/& RI^%J$4?@6NQB!LZ^A30#;O 7<':+>1@G[$O7XL*];!(K*EVY*5Q! M[[CB@!%)^8*!NW2*IPK\0(^'2$-@B;Q4R4&[Y-P@+>,MCBZ \\!LI']?7(+ MSGY3Q=77LTSP2K#8QUAN]2R#=6K".1XR?[63-.NIFGGT[3UTS!5/2B07H[,GOV;'O0ZON@&[*ZUV=]@=4-D=S*[ M-X:W"D8W"+R:X9UJZC8*:H;W2A_=NH\/"D/D!+!F^%7EH]UNUPP?%8;MP*\' M,Z@;^C:$?LUP6#=T ^0Y^X8'(KN5R*Y6Y.LH(NN4,]%D13C>A,\)5NE=D+@' M ?F.6T^ZJTBZ[=;5&9@R#A6&;QD/(O>JR#UMY*/Q)&_IIH")/I-0!GZ,\/(9 M4]W>\2MRO\DMVJFFZ7QVBPXZ];S!; 76$EPW+,S>R6]0^1:8YOEC>D2K+"$OJ!)LT020>1UL$J](-.$(QC]E*E'/P' M=G$8R2 ?1;#19Q&4#R.H?QI]6V=. S(#NRI?[DG!_8==4T9D<.BH+ M*M17U,_*(<94K3NX-A),5CWH-2J8K(#0U^;A"=,L?/%VGXFFW45Z(MB^L.W? M=3[)<@GU]?+4VMP8:2,K)@R:U ;)XHGL$VESA @Z=6W*#OD(T#XB*I(%&ND+ MM*&H=Z\K0OF'RB"2-1BA1I63]18YIU).3]11"% JIP?ZWC'E9$U'^IK^B\K] M4L5$LJ CMU%M96E&^H[46-OA$:+CFTM6<:0OOH825:\1X^HUXD0RR=J..HW* M)*LTTC>VBE>F?XXL MY YL4D%'5FM'WS%_1,&2:E_!P*Z_I@Z.VQTZN_>Q1U]O&]2O;Z2?+.=.NU'] M9$5V/OS1XGW]%%\D M4.-# LW+7VOMF+\.;YL1(#N4O%1[QJM#JZNLX/;-Z, MW\#+1Z@8'\#+87%&(.F+<[)12.=QRD""9V(J^\(7/M/BZ*FXX625GQ@\$RYR MGU\N<#C%-#,0O\\(X;N;;(+J +#W/U!+ P04 " "36VQ2KYO*$+$$ "& M%@ &0 'AL+W=O,)%O*6KXQTS0E> MY*0D-I!IND:"(]H;]/.V5S[HLXV((TI>.4@W28+YKWL2L^UM#_9V#6_1*A19 M@S'HK_&*S(AX7[]R>6=441910F@:,0HX6=[V[N#-U,H).>*OB&S3O6N0#>6# ML>_9S7AQVS.SC$A,YB(+@>7?)QF2.,XBR3Q^E$%[59\9Q.*-;9]).2 GBS=G<9K_@FV)-7M@ODD%2TJRS"") M:/&/?Y9"[!%D'#4!E034)-A'"%9)L+H2[))@=R4X)<'I2G!+@MN5X)4$KRO! M+PE^5T)0$H(FP3TV<>9NYLRN?(:7\;*+O$YS MOJRLB&9+:B:X?!I)GAB\D4]"-P0,&9T3*CC."CV] K-H1:-E-,=4@&&>".&R M&=,%>")LQ?$ZC.;@3J[B%%S,Y$)?;&("OB[!+N#]KR;P$ER,B,!1G%Z"W\#[ M; 0NOER"+R"BX,^0;5(9.^T;0@XJ2\V8EP.X+P: C@S B^,BC %#W1!%@K^ M1,^'2!/ D&I6DJ*=I/=(&W%$YM? @E< FGF4?I(3Y]LJ);^ MH*>_8*Y-_K'SV&&@H#]U'KN2_MQY[$KZN//8E?3)_YOWZ+6+P[7<)!&-!DO0?33=VU8V==V/KNU&NW(+IYLSLW?XY@*[O MH;[QN;\3 H6L !ZBGE5Y MF;9]B!HK4';@-;*?M%&>":%WB)JV44Z 7*M"'4RC4TVCHYW&=QH)L@ S@05) MP;<7DGP0KJL/MPKLGK,,O:H;[]0RG!1,YT!\:#6F:*I"V4Z@EM6OTO*U:?U! M1$AXG+W:NH@:5&&#'>DL?AA'% MG42MW04Z9Q6U=AOHGBZJVRY%/S"MIJH*&'2<(P8+:X>">HN:172%UXQWJ]?: M8:!_5FEKSX'!Z=(&+%VNS8II#>I&=N($$RELIVJ%M4F M@^ YI46UYR!TLK0E=5\TUVIN':8*E.UZ1VP6U1Z%]!XUP6M,.XE:NPNRSRIJ M[3E(OZ71BNJTZQ4V=Z93%T3>#,M3J?J\,4)K?S"7D4T!3%9RJ[,:T_./R\./8L;P=;Y6=4'$U+E_#(D M>$%X!I#/EXR)W4W6077T//@/4$L#!!0 ( )-;;%+QY/9K\@( ),) 9 M >&PO=V]R:W-H965TT#VXR;:Q2.R>[;3H#$B^)[>R,9V>CM7M+ M+IYEAJC@I?% M;D$HJIPRO!,@RZ(@XM\YYGS9=WSG=>&>SC)E%MQ!;TYF.$;U M.+\3>N;6+"DMD$G*&0B<]IVA?S;R P.P$;\H+F5C#":5">?/9G*5]AW/*,(< M$V4HB'XM<(1Y;IBTCK\5J5/O:8#-\2O[=YN\3F9")(YX_INF*NL['0=2G)(R M5_=\^1.KA"+#E_!H(O09AHS68&UAN+UME09LHX5D)_I1JG!O>X0%8BC#A+ MD"E!C+GR&,9TQNB4)H0I&%D9*/0R82G\0#X39)[1!(;ZSY%P.-8_5UKF"+=3 MN.9L=I+KTJ0PE!*5A*%2@DY*128ZXH'#)4FR39)O$F[G6.U^!(<7J C-]>@$ M'L<7<'AP! = &3QDO)1:A.RY2F=O8'(*H7\,@1=X6^"C MO>%^]RWU\8'E"W<;+V$J> &7+PH%(_G::VNU-?.Z:>;3M>:!*X6% M_+-#15BK"*V*U@!\4!E&\O03M6F-[I\;+4NB#8Q_O.S5CYPN][]8JNI_E??>=K?&&\>\C MO.VN^]ZZ.7L[]0TE)3#43MRJ#,4^_ON-QN]_807\=1_T@\^J0<74;"_MUF8+ MVA(4=J.-2KB-$]-<5VZ(F%$F(<>I1GFG;5U&L;H!K":*S^TA.N%*VV.'F;XU MH3 !^ON4<_4Z,>=R?0\;_ =02P,$% @ DUML4A,%:76) @ D 8 !D M !X;"]W;W)K&ULG57);MLP$/T50N@A =)HL]PD MD 5X*]("*0P;:0]%#[0TMHB0HDI2<=JO+Q=9<1++"*J#Q&7>FS(4$;$;>.+R9#8V]-?A.8"2,59"]8*&*G<%S^U>3@ A,,>0-0"HM> 00\@;@'Q M>P&#%C"PF7&AV#S,L,)9*O@."6.MV$%BH(H.")H^FYX>'T$/CL- M_]K0/OB+:.*N!+'EB_M*<#M>SM%ROKA?3F_'J_D*_1ROI1+Z2OPZ03_HZ >6 M?M!#/VY4R07Y"P62MMBB*S;"C#>5.I8"QSFTG*9U/&9Q8)_4?SPB)NG$)"?% M/!\TQ#?YP[%PE;T0\NW>%?FL1)W&ORF&GU$YT(=P-Z%:[MCJVW>35^B2\F;KN^$SC>O4= M%EM2241AHRF#RT]:DW#]STT4KVU'6'.E^XL=EOJ7 <(8Z/T-YVH_,0ZZGU#V M#U!+ P04 " "36VQ2?*0./CT% "9%0 &0 'AL+W=O&9&:X2MEW_B&$(%^I$G&SP<;(;9G MFL:C#4DQ/Z5;DLDG:\I2+.0M>];XEA&\*DEIHIFZ[FHICK/!:%B.?6:C( N?MZ(8D ;#;?XF=P3\;C]S.2=UEA9Q2G) M>$PSQ,CZ?# VSI9&22@1?\?DE>]1!->_D>O-58?H"CG@J8U64:0QEGUBW_4"]&'8-8$4R%(QS#!J@F6 M2K /$.R:8/&FON"A3N^3+9(RSH@KO!9-/8\D3 MH[]RS 1AR1N:Q1G.HA@G*,RJZBZJY.@QP_DJ%F1UC(XF1. XX3]#1 MAV/T 6F(;S C',49>LQBP3_*07G]L*$YQ]F*#S4A RW<:5$=U&45E'D@* O= MT$QL.)IF*[("^(MNOF%V&-#D"C7+9+XOTZ79:7%"HE-D&1^1J9LZ$-"DFWY/ MMI*N'Z1/N^GS/.NDS[KI-YAU!G_5>^Y& -"O>\\=I(>]YP[2Y[WG#M(7?Z;[ M\K>7;B\-K:9:K=*>=:A:'\=W#].[Y;]H%MZ.;R_#\1*%M[-/=S?CA_#3K:S6 MV_'C)'R83H[1E_$3%TSN2)83L)8KIELRBTW_962X MOF<.M9?= FFC3-TOUG07-05L.4'@[J-FD$?;#/915V!;BL*P_%53=L@TS34X@0LV9XBUZP-\EJ5V<8X:BU=MS$GGJ.L< @8 M\E1!(8PRLP6 "0)5SC8HL%Q83*\1T^L4\U9^9L6[@D(">L!;Q54R<@* O$!9 MBBD W_*1C#_#?73W3I]O3@?0)>J0/B%%*= J"%$LS"&0H6EQ! MH%;ZM$%0^H"FE/?F' 3](E\@CJ?N%K^8[5["&$5G:G]DY_O=^ UI+W[!>MB0 MJO%6?N33-?K>] %^YB!.:9Z)XKSXAC(J$)&@! E)C7 2Y4E%7E-6CJWS)$%O M!+./"'-$<+39,;I+B'GAHV@QR.Q>Q3QB1)#D[13Z3-%V.ALI8<]EOXZCJ BL M.O8VHTU/\*+LC"CCE\;9W #&%T4/$1@?&_K9HNKD*$_DTLHG59?P9TA5T_*F M/%ESE)"U#$]FA3PML*H/6-T(NBU[,4]4")J6EQN"5X05 /E\3:EXORD<--W8 MT7]02P,$% @ DUML4IKJ+'TK @ ?0D T !X;"]S='EL97,N>&UL MU59=:]LP%/TK0AFCA5''R9*1U39LA<)@*X7F86]%L:]M@3X\6X]5_?-9#R _?LAB'RX\8 M>;H;F4&,'R_>_VJDOGZ'_#CY,)E,'R^OC_$+%[C$P8NDBU>07DU/\YJ8HPZZ M-211+L6PE#GV@*E-.* M83&^(8QN%+59.>&4[3P\LT JF51(FQX:,:%%ZB M549AH<@NG"WPD. &4V0C50:J+Q/B/91$#'(K1]&BM*.656"#6DMNC(R20@KB M-.PS.L/0IL#8@]U[/_,#[C8?_=6I_:>B-XV@SO0TWK'\8S;//:)=O8D6570K M]=?&K$8XW^X5N%>0T];Y;=[7/\4>GF8G5<5V7Q@M! >_]E<73"*RST.E5/3) M5+,[)34 *(RVH#1-Q\AO1:HUM'J_F]K\M.;9?ZCY[_:Y &*L+%HL_7/NSF,/2:;,Q;Z(#?S,\@)PW3ZSX8X\'^ 1EM^*J?=6\; MT>'2%1P>7,D?4$L#!!0 ( )-;;%*7BKL

X_S==;M3DL2FDX0@AO<1GDB*9! ,PA8%[ LL@\![D0>0XU5N1M.\CLLU37T/(>V1A]P,E4 MP'5=0)S1@Q5IO@5[&O'._8X8 N("\[5LFOD29<&&]4P6;.!P+N2KN"]@Q4CC M0@RIHY$IC:O !BU5Z)6X/F^M$D4T97%II#@6$R24U$$22["\9[A;P5I>A.@L:R+[+_:SD:+N^GZE[Q;D X FT4JXK\K /<]S_1,Q MF#M(@U/B\$Y5P9O(/**7J(86TVQI%A ?(@1;V.8,U!6&NS9 RGPPN+]1LX== MFEA%O-*U>]XC0',[XDX2OV/HK"0VK#.$76)S V:.8EX(%YW2Q.GQT#13B(\2 M>DH<%M8U36;U8=_=L3 .!+2&?%?(AJ-S*\">5*5#32P?6U&8!0Q-3AJQI*+/ MR^4KPF\DLDFP3F*54M040]2@RWB";T7OF1P, M'+G?,58)-Q%V,42[UF'!M44NJSO \OCE!%)@?%PP/<6-3#;%C]A W0[P#;8D M7,Q0%P0-+U.# 3,2;\,+HB_)J\.X-4& M'<*P$E0=%;WO;IO7[OMMN1 ZQ?K 5*3?!XVFF(;RHOLSI^DV'(JH3$R# $ 6 MIR'BZ>-'Q=E3L/.0GR6IG>X!'Y0L)#GR/QS<@6R3O^B%%TGJG.X01W6-!L"8 M.8"Y^1@8J)'-!5*'[8X3)\0CIXFH.8]8.T(Q%$QDIP A;=S$^ MBYH-AV#:A<H9#L,?H4O"E^%G/!^:$DZJ' M76ZUI+PKLA.QQ;\PV8EBT'+O\9^%4287F9\]G1K(N\NC87%JC0-.3N2#U326 M).S@"+1A!NKIN]M.X_Z]&.<*3+^B7"T5[[,$)XU\;4M"]"L8HZ'.=Z>M3+239?1M&]7R O4H-# B!^8M&8V MQ5L2%RQA(L*D2*B4FG"I":^')IST.:JA!P_NG_#9R3&_R'O$C%^:>3MY[]S$ MG8E><.#T.SX:W#+"A0*"BQ*<%$KA'2EU8>61[R75RDGD[GA^ES!^TO58G*\P3-#7!44?B3D;=(S MZ%WBGJ,V$0T81?2)\MH4\MIPDA,4)W1 0)",#<+>P)+T!J0\2CUW-!B[8$YN M2U+D?B).-\*O!,OV07GU!L.HNWPR,L"G\**ER&4\K1=3AR-T3IJ39?SM,T'@ M>M2Y)V9ZH];L)];@P[C%!R+$&JC%E;@ELS!Y%ZOKF7<^4X)6YR]9"0?"82@3#Z1N'GN>)NS"#8%C44V+@S7_8]A&KX=F YD) M=I=F[.*90>]41O8CHUWI:.LAM8565*"LO>R@%>4LL-\>!W:@@H;^6/4![Q1R M..'3Q(G>%%+;0T$&!S))N@ *8X0(X(4T8'^1FX&+:.$/"R5](G8TU]U.X83KR<0F#\1K M5^98USCO4L:LW.9$C2..D\M9HUB.W\XY?KLH-)[ACTU3W=.T[Y@*/:D+OQX6 M\SKY&:H!.[437HAC.,B_<:.@%W*O73"I&.3 C!(4=:1(A-_)CRG+I==# MPU+4>01:)RC//KIA^%_! C0T)LU)Z;P%V]0>,PQ62B46]60L:D %117*;/!6 MH;)W?=>P* V7*]9@XH0]NB-D2^U_?HHH(X175$I^ /!FY![P=M!HP2("JQX^0F*3D2 M#L2U$@=+)'V*PI!CC"L3M>-_X6/_/*I6:K <6.ZP"""0HZX']*'\\^"DLA?_ MKG;"78T.ED(X3%-=0L+0UE' BS=)N2K,]B]>(!BX\H7T%/[112:-SA>X# MW2:L110(C")%#2. ):!;,6T,E2O")>H11@QG*%XH;3""9^JV*;"'OM'DK'/N MN@PK5+JJB7Y$KGJC^Y3G(Z 7@@OM'$H$3IJ)CT)7$^8B M^7EQTT#(0DE5/5(I<2,"IW;W+[QX#RQP56-Z!@$G O! K3=87BC YJ@J1RJ. M9#D#<(G:;3#!!85,XITX#T8S4^\",1&'28V>8?X#.7#'J9_! MKA\-@M%'7M+F^E13">*F,B7S;88G95Y@3^F&\O;EQ[R#0CC;1;89/_]R=M^) M=%AXB\C[P@JQ7]*)18)F6GF"/-%][B>(5XZ.(KQ)1 MJX2HU][%[$!7B=-5NWP)&[Y$UBH@:ZXZ30;FSY6SZ^OWRK0^,]MI;I[K/XEA MEV9I64Y.#3YBF=(I6=&RDIM[R-$)*HJPF5XZ-S:7BO;.N9,MC<7Y(KQG/08T^ [PFC9Z^E2)KL^DH(;(RRVV$R**ZOM<78P;E M>"*Y042A*?TR4N6 9#:OGE"Q4$(L.)^OHE?E.XG7]!(\7E[3>QL(?Y[%8JH6 M-C>0F971GBP\LX4GJ?-D 9G5SOAA,=F5>0:&4Y61[1J>2"+A"3N\N6JTLD)T MDH%WV"E5%E,[=RPS]/3Z1*NPL)PWD1@XAO63 LEX^2D1&*[,$-L6(]@Q'PCK MR)D5+R,7U.Y.)H.'Y)]5HX9$[,%3%,G"-KS&""M;-+C/NJBC"RY3UMJ&*^K! M.350TH3!,&0=S9J)IP99P#:4 WR\5E7&3,7D\6M#>]R*]Z3!;Q4=%WL.=8J;7R/5G0+QL=)0M*4\OULTO4\9^1POQY5JH' M65?R"DINE,YH$N^4V3YR9Y1HDUVBPE\?K^#G5Y/GCPD;(<@JXYE;E%@]N[1Q M_2YH$#>.M;P):"N"YF2;1"J5QLIH1"HU;V"4'LG%(G%&%=Y*'< 1VV,920TL9&4_,Q/W$%?WH M]O E7&V;*:V!)1#M>X\VS\+#OM\<%3VLPL84+VP+;F+794RZB_7E 2CIJJ?* M,@:J;1K!M20:9$]4V@" /CH(!) MPLS*TD!L5K,N!$D_I4A+U-S<*8DS:XS3FD[+0JRU!-V^J#%@T4(),A MHRRRLL!DISF80&%F4&G]+">/9(Z)DB5Y%(\\8MV7A3$4L,1<:M[43C32U)*- M0:4)AD\B;<#>/,?H!ISG$M^Y5%V?N4\)^DL:!Q06AW/)U06[J*.!J%P=+A\7 XPWRQM=^HLDD37 MJ)01/[)E5*8^DN>VD)XB6^IP<,14\3GU%C]-)*Q$3'S;"7(B*"(G(3/9MHAEG8)RA0 M/ZDIFR,[HU$QO7#5BUF:3(34XOUS(LHS58/'FZY'%%;<:JS79+!;7K)K.S^# M,EURDN%*:#2&JV5HQ=07)M@E_6XRM"HLGACO#71HBDG:O1YU"0)=O2.MY9GK MJ)J&(X=$V*5^\"_9ORH:U< B;/[#6L;WM9,$O:Q0U*+ W5G"1-BR.\N7:?86=L'KSD;34PC2 2PI4MNC&%B/\(]T:=M"GL&'&' M\6,FW%E!&^U9KK/8))6LM!)4'MZE=ZQ^OZV:42\AY"'+< M)VHNAURZ#!9$$PQ/B$18"&VN2WHWS7Z M0S6PB[9QMR)EDN<$4V-%.5HEEGJX5ZWN4!HEO)TY,A,1-7^+.09ZONUPC& EPFAB7L;TB&\X?G# 5.XK27^5R-NE,8G! MT)*4&8>!OCOITTG;69CNIEKT#U H^V& >YN_@ORC6"%%$[=C [=UY@G_)WDS M5:[?B@H@4:43C$?BNO9/41BD8;%68M9)RA9Y,$'YVP>X<(5<'C\,Q\/F&, I M A"<@4G.=UYW&*"3A],)]'$XJXXH5HZ1E.W$*2H,KG\A=ZQ%)&]YV-@Z6O*2 M<@Y8%?L;4RP="R^]B1X#$X[N$#E[&4UF+0/D"$L=3X[4+R(M&_XA(TPB(5\07 MPM@.3J8KS:DBRCC1<'RL] RL$<:;JCK(#UTN9N*9/"D?4'(D R7*JM9=#<3HW,QX2GR$A *U%!@8C(O M%Z5I\4:<"LM[^AL6$ 36R?/Y"C,O"R4(G5S$M8E=V(K M]"3E-GP37J7CZ3E=)0,L_4G9_J39MV0-:LK>2+59X/Y;<3_X=> '[W!UF1\ULL!!-& 9)"/LPY 3)J05O,L&%\>Q?.2D2;0]XP_:4IA)\V&=T MFBS*RE@9:'S(:)@93#$(3#2&?0V%HA&:E:;4,+#NWL5"_,FOKL& :366OH)@>C;^Q9WR<2G!-UJ"'QS,EN!O);Q72$3D MSCAN^," R5%X*_A71-*^:]RVWBMW@E<6&8!YJLS#L7%8!H[B"\ 3J_'C7;QL M[.2C A/6*!$9DVXGQB +#LU3!/@T;R)>7#$H8U%<@X_Y8F-8V9$C$<-.O%+B MQD2]-QY%AT53;0T/ZL?3;A6UAQ(ES;%+&\3N-GC='@>4:8Q)?U$#.X0&_0Z% ME8.M'TS1_8S& 9*_E82@E,*A_?X7;\3$=X$YU_;CQ'G2$G!?';++*5.(5UG>7)NHLGMN;/,^=5 3B%&!Z9FD\=S>Z:5(:XBIRPO12$O M1:H?Y 546-F;A[Z39[C7](V4$\'6E!3SXSZ>SY*F$9<4L3$444JB#4+VZZZ_ M&$:7/MY3AC7+R74K3U+EY+HU0=1K[WXYN6[U<+H2D^M*$;U*UW2.(IJ/P9M, MLYGN&BR-P4TA-8SQEM104D-I"&XN]R+Z@ MD4>8&1)M%_2.!K!&7?1K(WU*0ETE0MU^EH3*%]#/15@E\97$EYS8)Z9,\!0X MG"JH4<]/.2K"P7ZAE+*7*.?/3 9\GF:^H(C/'"]->2&*?2&P*H2WN1(TOZW( M$AHD>YWUF.;QD8M=V,603YK UG]B>"#%^E%M@/4HD4KW*2F5RD=ZKO,.\.LL> M8@)1"YN? 7G!A02^R6LQWTO9'Q2L4AZK_&PT,%P$!>;EE1,%-I ;I39AQ*Y[ MKAC324F"L5Y[U&,OR+.+M]JCUZ;UVUM_N5S*[O*V8 ]<8?8;6#GQ3+=P2>0E MD:\^D0/[AY/O8&.WH(F=\&;Q[(.[%J^;0KEA!DG4SXV1K/YE* F]V(2.W+S4 M>3"[.1YJBC7X4 YT28Z.B F["X1K:";.7YYFVI! M18,(S+0NR7%]R'&VCE#6TQ8&J0*CG(6H+N_VN2,[N-B]'O][R#X\VS;1I3U@ MY@A=&P],-#YY2G2+X5.(^*S'H*N+B+XQ-[WS=_R/)71F6*-*Q?)^K)(,+F[! M;3Q:[3 QTK;OV(_4Z-8?=IE#G2)XY[\1@LI'N(J65!C0GI[F)QI/K:&F$N*75FS%'%^H&7\[5/3:]^0 M'9IH9$DP!"PQ-*]D205D25L?(^GSBT5PF0+_*FUK.AP60 MG9T17+KZWAX;\W&XAR.$0?-]8 [F9HNFJM1#3<.!P[:.M2PZ6,ZQW##5$K.A M:?B)D^@,SV>C3K6J5T)!+HEV@^1%T!*^Q'H!L9Y3K8WW$:ZGCXY,-@\N::58 MM))9SE'VA=[HOM![4R<[!%RA=E+2R 9QA:RJQ/7VIY.TNO7Q7;F673@A_&3CRAP/;,?X'JZKF M%8"NS8;V ].#_8F(2-?V/'NXD[PEXEO/'DU\-?&HJOWL.Z!YZLE'X82[ X?C M('J:4X>I/R. ZK.=+GZTTV5 K U7Q4QVE=_*-@E*,"567@L-YO6_^XOSW; M^G@OQ]:?P6^Q,?NONRIL@U.!^./EG&W&?.NGUPW5F3S>Y(96C+N^_$PN^"-B>,V#(I/LC$NK$>)T-8 *CF7:=U_3XE M#DB-S*/] <3@N\@*.#QTL@:9%R7"5H(&_C29!H0!U5";./2 S'80&+*$A9<[ M!PO+ ;+?&&_\SY<,/%H\#!EY1>#CRDX\S8NSF4ZR[2D>,CH'C1#VQ%@'SFD2 M0$O,7/P:-0@S? MHVB2PH5:%U MG7'+&D86I1X)J/HC*F*'/X)YFJ)BG,\2P)B]FW5%XR>5NT77RK3M9K<'$&X9 M\:-8Z?I\3[(WZR3 'AR&BH4YIK\8.)UXY#O:0'4QSTS'U-,>C51FXLC ADR< MO@+LXI_[E;H"U&G*&KHA.II&J#'Y79H3IO)!TV(2-8F2CIB%'RC(ODJ$S3@)=T(J!PVP $CT#6+57632CVYK76&DV!,K% M'AW].4WNPRK-B8%*\@V[^+J4C:_BC*7706;VT-?F7EA E(33 M_+)\Q)_I@5 M\(KB:R&;X"^H!*]"3O-6@X\(]+*27J;N!CP_O6L>_YK_OJLB&T>^[3O\DRR) M0@Q4$>\3/?;(/[=W7B:$%]:SL?41Y8,ZQ.#-Q#QO2B_D\C,YHYQ/"L/?\CEH M4?4,DSL33\OIT(&N=LHT%06B^ GU92+E77X2F6Y&5L70A[> %!<#SH"BF:H- M8*/ZY+9)B+.P1U,ONEJX +TFNL]M*M@/)&,$+)2O&CD$V/EBJ*J8088P2A^M M%AN-3N/(KPD=&DT$C3P"MY$]T:14TI)5G<%BGD0.*2+\04PB +G#Q\D-Q51V M4%\L?O_I]UW'T$$= 8AYCS@7#I_'$6ZBD0U #Y0&ATU.G@=$R!*B&$<0_,6E M4W)AM(T 4 G<#V!!#MG$J4-89[TQLS4.+4L6:\0^)4H0K7>\<&^)\7:\R1>0 MBS8P0*IJ*C9@H)9>PC2D3CU*%TE.=1QU'.GK!3A"E39R<(0V6>P>ZSN$:O@K MO-"&%R!9)+8/ABE.$#2HD@K 8Q+K2PZ^!;P-F6[ L+(?%2SA>I)J9ZWN4ORE9R4W\0;8]+ZK6YH)7*X MYUZ2MYH#FTHZFT6L!]7JEZO[=N-Y%"M_]1JR)9:E#EFRWV'D=U$7C&3IY, A MW=7W0F=(T$HGY194)C8MA140;P_WZDBI O?%BHH.K$4A"A9>#Z1@4/BXYP,5 M%+A2V%MR1]R?""$SZ\$ >P!Y;42A\>([ =&,FJ(;.33MZH$!+*A]*VUL&Y"H MZ%CB:]F>$" L!" Y:U-\M=%6V.)-./$RA&7LC,E+5X![D!&"6^TSI27>I]SG MV69YK'CJ6S#WM"'GGMX%?4PGO1SK *@B(G_FF= OC#_[-N&S YE, <:@#BQ> M/3=U\&VN,;J2J^"?;P#K&R"'<"-G^C M6G8[_"1T.FR'7!'#X/@L[BGN,8_OTC70*ZQ:S/9=DQIJAKR3Z_0Z,PV,3*$W MUO;[@Y%/AMO0)J, %X_X!!R\>W* (XRX4OE)R_]'!N;J!82IO=H7?L< MS4*1(&)23?@K3:,(-!B#N6D:UJL(:!5(IJIT="'K M%4P*%$GIWNDI1P=!R NX'_^%;9![BKJ3(U=/5=A+?E0 NLM-3MP.HAZ,FT,$ M7#TK:4#0@- #4Q5 4H*$93IO99#>(E.7>%H- -5"J5@_X"Y4:]*/\_)4WJRX MYEO$8:,!U$M2;4VE)7ICP5^OYQ-N#L!\%R3&8*M@YCP8&LL(0*]^['E1<=_- M8':K)_$6Q\G>!JTQ;^@/EQ3Q!A21'G$LE%F\@5C-VTL4XR:< +. )=>]$; 2(X%BDN>)H2 +*Y] M^@Z\EW$[>6[-"9\_*72>(JRDX:70,'K77=FP($J>2%=4;3!0@:PP"M?%7(MH MHBQZQQTF8]V6C1E!OD,!-PK#QY9[-$Q380]HA&D#\C##@9D[H%*V_.DK3WB(U\2UGLU],-VDK\AC2NC7M8DM$'^ G1BPT*,UZ\7!:3*$ MSORN>6%J30_*6M,WKC7-*3_>Q#F48<0"" 8JTQWBF0ST=/!\-Z>J +:K6B&^JI74?XK,/T\F^1@EE,6DC=9[ ) M*@^C>K='TO!$GH"-?4I@!Z@MXDE,6Q.IC5.V (OE/@]/9T:5TG<<7C^'$M=U M#;K;F _NX>_A<]WH@1;JFQ[-&^UZ*FP"LZ-M'^!G/S(R>[A_'G/R)V$2D42Q M7#7XT\'@ HHV/EA<%,PAH^(K9A\VE-4 .)P(@;M(P#NDAFAJ/25%8TP#I*E> MP7G/*$9PT>U85ANHR*!B:V.>FT>#F!&E#Z+X(/@Z4AF**=<8E,?FR6X$M(3@ M[IA'3D+93CO7!DS[*7,6)<1&JJ."),>'Q):X&I)^OHK20-L6E$_$$NPG\DRT M;A-_'KZ=;@AB6^;RBU04?[2#(-J6Z2P[F,\B%![:W-A@IBX+_(SD1.M4)-&U MX F.9%W#O3;60.>.(B3L/GT^9G76U['GH\:6D4)^L#%MR)O6:)#6"VU M%Q"V!BN[12W;B%ANP+.^G],S\WI!ET&#M9,I51G8V][K&JW.5=XVK3DD.)3EPW7^XZH+I9.Z@[ ML5Z/D0(/!@X2 7-H?-H.P$A'(^&G&]/4M(&*,U1$1XU9Q@/LB-(8_5_J(I#E]SJQRK%DB2A1T R',V0%?1 $.0)*&8S@#EYJ102G$: MWC*Z0SP5X+Z/T2CB9:(_ *Y%3,EG?K&!XA?,B M7R#8[K%'1BG92E:6(MGN2\E6DL.S))MH#@"4$TJ=/W>^[_P7<[C 5%)Z0!Q M(%T;>0^'J>B@)R(JHDG.*^4."ACQ1MXZ)?G*R3=R\90JEGJ&.50"9-#B.265 MHS!/&V3+K&WTZ*L:]4*066C1S#1RX6=EHY7R+8=\^VIT115R*>!*CI80<%]+ M 5>2@Q1P^>0;ES9 .4D!AYF:INQX@/%+$"C:3]Y82?(@V3$!98OHCR!2"3"2 MS/,(MK&'EXI2@](+^+<4:E?[PNGG,! .C N'C94-\K+65/R_Y]1W)&1%)((] M5^.]83A=VP&BNQ.H%1(HT:MT]KL2ZSY'$8N<397;D906A-W?->[2^6 ,M&4P M?3/8(&^>J# +;BL3^C'#S"*#Y\CHS$.=F"(,F,=H],8A\Y*--0U,3 *]5G%M MW]&8* 61JKOJ2MT;(Q92)7>PQY4+*C!V_GX0"568VTL95?0^&2:AA*@QO!!^ M,?*'H+/S-"12G7VGC_E"0-1A8DET.@+/Y8J$>*B%)!@F0%C,TH$!:S9J\[LZ MAE*H2)0(USZS^XXZ O*(W-H0HB+U+-%FC'H!O'K6YR1#B9XL\TQH_R1!V^A< M7VTK-\9/ ;(SU4)S"+.A98XV"D0 ,H:NT!8370;E^6"U 15?<-*CDZLF93]Q MZXL:@5)>7DB)0V010(6&*RS$?/O'PB$WD8&%33F8GB@@2C'7C ?\ /B+I>., M#9G]=#>P8?,FIN(1-L?R[%'$1HQMD+*B\:]UUQ*KO^06FJJ4.]H-P_,@<"7X=WA,&$5 ME?[FEZ^QFXY1&%?P)LI&[1K$-:CS*9TG!CY>YHA[BF3"\IQ?ROM,6U[D>2;Y M4$6YH/1@%0M6<.?IQU4]VE<$70B!:-P&WYE(5 CZ9XN?H0S>QD1=:F:4S.$E M>2!RAD6N+9:_#&Q=Y():.F]A*R&B^\/A..#^U"96;D3TNL.5,!^78!X"4+0Z MIIXFY/:3:^//IZP7D@.)+P0.@1V4*I-Q[QP6E@8-[X!FL3T**%KXD,S9UKE@ MD#!"103^7<'2)TWZ#<-TZ%#!2LOW< E3,IV9.RBQ210"+%R#9%!/I(94J,Y# M#1N?"D5!HEQ>)3VX71*+/%N%)Z"#=8@U2D P^E\@ 'EF.C[HL!&8$,%R+I)' M5!(C#"D/68DT;6]A3DQP'+BECL>L6/T6)1M38C$I=#BTB?RP$4 ]C5!D\UW8 M(W@7]H ?43XF9KX\L-@RF/0R(Q:XYGF9L\5+3)K$+%QTC/(YS5/E1])XG/B9 M:/H+%P!LJ!TP,L+"C5 W P7:T,)$)6S)'C,K)!UZZD^1N$24%[A+".,#?VCH MR#*CM1(5Y5/:QZ3H=\$H&N)%I,:.@:4C.]X*ZKP VKT@QMGD3OY[-$- 68Q/ M?9(WT,4 S*WV$6-3?!)TS(GP"; ,*'R/Q\$F0; ZN9=Y>G&NI:W:J]:'0XY MMML,B8@XT7,NV+05WC7:^10RJ12%-] )UTJ6&HU,WH);PUI;+/101<%&G,2; M* !!@ WP4Q!RYZ'Y^ZYY=OX^I3LL;#=%@>-5KU*'R]H8'>^@"IO TAKL/H]# M*52JJ12!0<>@BAO1]YMK#I^9^6#P7M_XP;O]G4=N0,JWO!<:1\2,Q"]UGXD@ M'XV)$R 9&7B4EXMMD$VZH8F*)Y4K:19U>(P**CHJ2'" CQ!CJJ6:8]@QGZ F MRHG@+U847+RPB0I_\LE3TEF%_HC(WO'L'4)Z-(:)>Z&Q94B2H(7^A.4G@"B3 M8Q#PJ:N/ 2ZJH$)Y\ MN+ 13$GE'[AWE7Y++>T)LM\>6$>G0E3"JRC3ZH#F (E_Q(CJ5\[4 ^[HINP@)O3YPMVL#GYH4R"P5N /;TTS&;>GB%!,R M.$1=/AD][H20S@G>8B\Q;8,:0:L N= 4<9FWX_-,3")1WJN!3 )IG88/ZX;: MMP#RAD9>$>[JS/!STB)Y3)] T5A7/3YKWX7IXW18]G%:@3Y.*V%*SR5'[7BQ M+:6NJ25 NZ]*]")[M-8,T'5"^8!VK;2A[O, [P\5H;NK8$_I!#= W:9 M%>%K!Q.()C=E6)KIZ]@'QZ$&A; (B"\2=2*7D\\S=KUHEZ(PUV04<45B%R 9 M%@P!4E&N@=S\FFW\%KNR[4,381FA+\5 8+S@<503SX4 MF6+N\I?R*\S$$1[1H.\4'\P<&9\L>D2Y*1UW/>:2AS44VZ '2_86+LE[-N%@ MXYCF@"J'H0-1POYL"W2MB.NX GJ5[-[+3^4.X+6\8U,8V@E^#?2CNHKN "9Y MF!L=M(1A,0TCQ<$;CL>(.KVW!7KQ<^SRZ*F\3Q1&4P?&"+2^[Q1GTA+[XR02 MT"AE5,!V9+@ZV ^%L0*(9%\5N)08*L7/5'*%NC%1OL" S MZ>4WEH;^!%?416@9-)Y($POX+3N].!AF70\*VQS/7$:4)MS?/U"L.P"A*$6###FI+I-A/K)3I7 M"9W"I15-' #+-N[:']BY:R6!PEQ2Q7A01=X0$ M_BWA!8IZ8BJ<,M #0PY&3(SN.XRW)\=P%LXC&2LW<%H7MO2]V;EOGGWB7J"] M.!TAO1B>BQ\W;EM1]TLTLN8$7B+TVG OSM2150LH!RS'\+PQX;Y"4P@]]A%O MG2"YJ/L2O[5@'[(Y =*=;P)T=LAG#NBR3=\3'HH;U;+;X2?ADK 7NQQ,OG84 MENC;"N+,S=EGOT3#ZEQT42"'N1!]>$$P0V2(!28 ;+1Y([*$&I5DU[00 =QV M&O?_X1-3NLRD077!?+P4\37W*>,.&P']4+ (A#!P,?RI:5M]0($SI%@'"-)8 M@*,R-5A5@+Y,@Q>F MXV0;7JY#DT&1KY6$6FA"!>),4$3M($D2!U/K)4HB6'LBD%X#++?G)V1Y5%\?##^>/>SXS7K.+792,N1!<8:2-(' N#39%)PV5H://(L4R>* FNH 3'LZ1=;R(9 M&]EC).M7E>PQS*N-MDAT;9,ZE0.)8#"KJV(O L^.N05_]W\:)145DHHXGL\ M%&*M[>PRZL^^:6@_T^NG2THH!B7\6QV.?N%_[=B]GLK_V@)S S9'Y0$M2ZN0 MV=#H7"MW<)8>390)LL"O/+W"0YK"'!(1;>6KX6KVL*2%0M*":"!SB8T2M0'U6".5Y:X5*"5)7225 ME?!VT_BSM&R)Z6D1I5)>TO>;) B6:"T,6M>J075)=X6ANQ*M)5I7!:TOJW3! M")?1&V\(9EOQB-MU$''K4(K6U/*7Z1&US9G4'D]43CEF@L961;89:^@RV;(S-!XKT-N V"XP9BZV 'A1S)=;Q# MOH5Y:QPAU\F,E?-VXYH>OS!5=P"T-+2=L2++[R.P$.E_05!K# M<35,8Q!I69;EPQ^(.G(8P1L0%1-;=X7QOQVDQ^.C00J@=!Y@LRGF>D&C Y?U MR9U-VS'((-4F?1DPORK9F2+Q/V[]]($0)5]?20I,>HC<> <$ MFF,J>SM&7# 8Y<<.BO@]#F[4FP@#P"N2C5DJ-.M$^.N7[5O25U'I:RW16O9" MFSVI).JG?6Y/M'G6/RVOM_A,<_#63S84D*&-;?B; 1LP,*(!3T6&*?+7TI## MX&',;_==IJ,'?31CLI_J(OYVQ%!$'.'8ZD%2W':>E>N%/\ M(8TYGG#+B\!!+)($3_9,%;L,6: TR8$@(3$NO$F$8A?5=>9G@Q#K-+DW@T;[W%4CO>(@7%- MQWL\@W27D?PV>W!O=.O-)Y3 (M1-R021ONZD]X;B:VPXY_*S5M,,D,C M!/ONIE"=G$44/ U+";,[S/5T(^7O$Z9PU%;'44M8B^:YALZMW2\6#2_J>*J' M>9(M"TU-@TJD<2!H1(.,O!DWR:*GDE/ J)?J*&78BRQ[HSK\9$=I/I2481!% M:?J./>(!N(9KJ/';UF%,N0%S&TB;W!,^-B^&A4U#I]_W#!R2:2#P\#Q#FME% MO@[#XLNW,(7T.,BE;/#4S3:CL\".+X"VX#KN?%9X01X2(2_(#%'JD&7Z4NE4U%TVP3.Q-UH M$3_=K.QM^'D'MJJ.: 0$:X4'0S MJNG:/*+:IG)_SHOX\>#ZNK:%;L@(ZXGO1V*Q1^'>R&,<>V!">&[,:UE1&J8W M( 0!EW68I8V!KN"POO#CB2!OA*H_+MSSVX M47+E.0V\JD02DB*O[,FV)]M!XXSXZV,'(R?2@*D/F/P*&\+8BR,%,(I8M!@1M] M#7?#)Y861^>KN?0-CQ["V2--4C)V+CW[4<=_"NABNXUV)<%^*9.$D:/MB*#8 M<&_!0%67-X;9WWL!DK91#H"MW[,UG[J+IITX\\[EYC( CLF.0=2RQ8T=1+,? MX(D;N( #SLIL'_XFL*V\J^V_WY:AWG>UP_<)6D7X[,BFR^]J>^^Y#T0V2YJL M\XSL.,/WD+9OP"?(I''H^8G?1F"4O5ZJIC]G!7HQ*8ZELEHJJR5:WZ2C2,D M2DHI&4")UA5$:UFL.O=BU46['\J2EY(X\W=@F!_EI1;TE;18TF*8:Q&8X,\M M7.9@O\C+ M1<&WX)#)[0>N!>XF0,^!+=+R8_GLTA=#GDON8H@?$:C0H+SAP"D4C\\IXJK# MCG@J*;XKZ2LR+ 5PA7X=A_XNRO/)A53;7XP+:;(4/@Z93$_0I$?P7=0%M/<^ M2%&-^WZ.WD==@A.% W*N;T@)%O/@'S]?1@,"8Y;:9R]USF94+KQ1M*(P]?7' M =S*^OHYU=>OU=CJ1:5(G0+^3)LGO'>8ZF+E@^&-BQQ33-G,G6@STA70P';N M_ZSO1>JH54\Y9QK%=92]VK;(92_+I3>W.+9V5)%-3S@M9Y-*[83N5TDM1:,6 M(2B1!\J3B(\<#COZ#&AEKW*8EU:.*TJ2':DXVG[DB<>JG/MP)H54*)D4UPQC M475O/,)\:E2X!\9HA#5SC[;RR-A/GBIG/"E#P/4 GNYY0BT%%8\9(RJ*4[$# M !RGHGRR'QGHK5CXIKB8S*=1\=FC"-G2;T#!X(^+K.FX:LIU::[]JJ@\&K;. M6U<]4/"2RO(B@TGH+;GCL$-U#)L \\%AL<(; !LF9B@Z[S8%KZ4*5HN;"3S5 M,/*8YAA48"<+> .=%CX=\FW!_BI8%HL?AYVON$Z\'52[&JA<:W;?@INJ*W(8 MB<&S(%,V&"F60_V]Z[L&%:7!.B*Z"SC$:CG$"N5 DA'%!;9BT=V6M54("[C7 M8Y%_(-+GI8V%=I%L;#9RP,2247\Y]&0RB!^U0(U@)G"$*( ,J$ 2]D<:&$#Z M;Q_8BM$;<_L+I_.8\*S);5V9O(FOE#5]O0"@P8ALH, M$&\L8L"/Y*U9%E.E%B6(REQTE^R0+(H(@8!-BZ2.;_^[%L5J@#P*DJB9&2F M$YLD@$+5KEW[^CR(4R=E15-W9%S9[^R[ZRMFE6^4]M^"SMTS8K-:S+R^4-)R M@K/W%C= 3/&-YVQ?+\+SU0^PYX7::S.WD]:.F+$H,Q\PQ2^B^(8B%=R?F\3P M6Y7A3L@*(G+I&,)[^EW>K-1L/NJB":=/&S. XE*I?P?//2'-:W4T,OZ"6 ML5N2<;)%L7!X3C\VB&Z0^^J:N:\4#Q/F3/ID<5!!-,XS4@,MT;1.6[-$%O4- M_#YB77*MH(3<[/EW)HTB5;$7H)6'&C^FUJP\DCAEC"H^@7._5"4H 3I541YK MVM./58M4LQD_44?Z* S(>^FZ$ $U.Z;@I1*-19.>K]0$"3OVMN AX =*HUI M=&XZ,@LG# FA@':V&&1S'*KR7 MKZOF?->T!FGX+[: QHS$*GH.BPJY"R<=HCT3L([]K H6/)#9Y:I !20C($ : M@77 ;2*HN[A#BN/3WAVB_TE?VI^C]:U!/]@T1,=#H=B"I7:MK3NQN>SR5><, MZLV]=&!%[')C\J>IWW$8,2?15JEA4 !$'.19H.*3)-\QYJ6!M"A2!VXS D*H]_U5A1 M&*UU@\1SO=M2@%VKTX-#%&,GW"Z7]Q"59)R"-.L_:;4K#]LV6F$9F\?KJ3"4 MR/OW+[;=6'UY=!U\Q@N.X,M7U,$,$ZJUP"CH]T,8FAO,K]S@7NU(_^TY M*\69@"<^?$YD5)?G9:>R/.Y[E-\VB\?%R]'56O1V_^&^Y[)&P(STS?IFZ6!G MYY4U03.6>=5I.-R_XSRX[RP9G92\8"NSM*B/X"UP&SVX=DW/XQ7=^0/<^8+O M_-\IZ/L!Z(51&L//$%0.Y?P^-./FS]=NG>I?;+;M"W M+SNZV+H\PGXEGB3J(/J2>9;1EH=@-FR1F8667YBS*3=,E-J"PS)!?M7@BPJQ MI?6#'\47Q8^*#E>,96"+CN2Y&*4>%?M D84D!#M]I,N!W+HYV[,UA M:E>*F61L^,'YC(Z-' @SEV:VZ5=9%X_6YD6&^.\&HBV CJ69LU]I@YX)LL^94DQWM",=W@W][/L7\+.OJO/@J]:&=PH%.C+$8:*FS:6QGIT^3_GW M>4UV M"4O1ZU&<8"T>UKJE15Z2PS#PAYR+96#^U5BC5M46D;0;>I'G)HV+2]_54#4J MZ'DL>L5\6%@(/#Z+!/L; W)@JEAYLZ+FJ>5)/+ KXQXWBB1\&LXJB: MZ_;:K_;1BRQ;Z&D^KG8%(HH>WJBO!GX>XO-V9M"LS1^M>=7YG&V-'??T-]-2 MB4"L J4_FEJB4I$4@IM8OMEK M[YB62,K.84IEC*&WO(N\U=#?;C3.,Y6X)8,*ZZ4.;9;[ ML16,_* ;^KW/4]4-(V*(JD&[2WT94X61E*G;?7,%?:24[ K+%X-C!$E?MX*1 MRMG9WNFT[8K#*4A5=TNH+AVCGYED7;)J=0TC_JI"N!N8+WAT5\&KKPV@:;F#Z1VKM"75ZRKSJVO;=*G96 M.@0>NW3_WH9?-.[-GLB]@[N4/IFK[Z,QX!Y: N[8"W#WUUU;]<:=<\M3[ODU M62^;YV#<:W2*BG0QP!!$.3L*HL[I!&X*_=>VC6X4$+H[W! OF!9G4W M=W4YY>[0VQR?G3G&K2QMZWX:&XH"RV9Q%U2A!5!N7R&\#Q]VZLM8([LR8"MS M/^G^=0:^0H^F1(XYW:<]94B.$8-DDA!HS"OMW0DI,N$($>X0W2(FKB[)F(I; MQ%ABPLB,,N'VVKC^9<)-9SXUJN.]BRYWZ:1PX$.D-[_IO-DD*6W681/685T' MO7O,\TZK0+1.%1?7'K .A"TJ?IG@2"]^Y]R-&"]'0T/USXPNU_@ MC@'7IQ &>OP!+Y PJ8VDW#^M"X1%T?TI! L%M$W9\-"F M@P7.WQ07-H4^G'Q#S"M'-?;D&@.:-;')TV@+@?B]CSYN M-SAMF%C).73G%4*LP@#_[>G'R^_0/N^K##$:QO)\RL-<^WQJW_B]/!_19DZ] MG;U_[A/,;WG'4<[&=$&WW:$WH=?GN+-8=C413,U&:I3KQ%B@DEA3 P%I6P'.%1 MC,T[8)>APT.Y&[_'+$WNP7)R_+84+SK'*%&M'TBB4F@<%^L^CQ#)U(97Y& : MY8X(NC'.%".ONB$U@;4LXDX376W&D(JND>DV/QY=759LCB6\U?N$?B[2Z,^& M!>FP84%RIO$)L" ]D,S+U ^SD>F%Z0QC?\FA$>?Z'%"^$BW^X SV)5"5Z;3 MZ<4I6F0ENA/-B5"'VHW7JFB(5J0-BSUCW!HZ7RIQA9HF);N"N7(,:Z5F1:E8 M>8:Z -L*,M@U0C(!!V30SYDI!U^Z'I7MF9%V3,G;E^A,SNS>^Z]J.E[\+X!$*?] OCK8__8/.FX[^B> M2:)<$4:LS##9V"&/+T=+%XHZ*WJ6@R9;B M^65!ES@DRGC@P05I##Y7J+TJ])UBJHJF!Y@^7F\0('ZT6$R3EH?LLUWD6F&Z M,N=7X+@1-24].49*/F9YA.F!'P0I)M>-Z'NZ TJH6#RD)H/C=^1_5@ZW+]- M4@:.9SY26+2!#)D# :X&(<1X%/7LAJ6I<]>FS,NXGN#^!K$R'B&+;J"RB:YI M)5#OU"9\<#.,_HT?A)Q,W$+"V> X0/IS";"5)%*6]1))D9Q MFNF%3_/NEOR0^)U_2Q6C+L:I]OEMR0N!<%M+ )_V-? K'CH M;U(?MB'K$^X^U@.W2NZ.\I["H]/!I*!29021MG<4(3T>!NR84IEF-B>N\6*4 M3%03!I]56!"%VS3D\$O8=Z(_9#9'K"R2?"STWS!K MY -,'"Y;3'LD"A98]1V7$J]!OJH>*CN,-L.&HR[\[J1&KF$#UGV:<-L)1J3+ MZZJE#T5)9^U!P1;$OX*(L,K#G/V/>Z6.MEYOQ:O8&ZIPC&'!&XQ0PW/]B6'W MQBG2U:SV;8FWU1!@TO_CU7$"4X\^4V11@=/GUAQ6P)2;I /-#[PC$7C/(1O7#P15X61X8*S0+R M>F9G0VWP^QBF665$$_&5:81/V!/6(PYC/0,LA#9%*7[I1T'!:#_R>T,T\6\H M2@X'W@BI,BP\$#XK9T>J=0=*BX$^X#E%AQSARW'FB8Z^ZT1A#((LK*A78EA& MJ!+8&/VX[?T4W^+FM3F3F7M6>*[)6@O]*+)L,'@R 8E@UWD&[Y'R!,B,%'DM M?GN%00^J1@YZ2JA8$;.$M1(!T\!;PRG=C+>&RF IQ_D MN;\ SD^8$/MHVDX+**-+AU=Z!L3]F.W_9\6$6?Y5:6>8O*4[XS6Q6_*R2?PD<)U:F8R .9')8D%O4WZ!&'X++GH$AD&]"&+"D%LIC$8^- A.QC1X1) )=_?1/;B*-!<)WS M$-G9T2 ^#/:I=XY4.NC]5Q5<4\:#/[/<.]X<6H&9 ="\PY$(6X54R'"28H^C M1Q$X>FB"*Q5)C?)8)Q=9'E%(4Y,6DQ#K/^RWTV=!/05LJ<;M_B<'3C?CL*/QNVSSX)1YZ?\8Y_.G*XKTX"Q+XJ_<^ MZ[=;],"/1Q=GIW",M.DSMB=TLY]SA%WYP:T?@>$@#[U2H!QU=6;+.XUZ;;KA MC^#YFI']'J1P$^_H1WC8B +@20; M.W.N=QIWW7!\#2ET4POS/!7>(I@I+!S]@&Q]S'IDJA0VKH\2%::[L7TJMJ." MF_8D?R0.E>LR.59CH3NTCV5,)LD\HB78LJT94_V,Y@[E*3'[")L?/;+0CN&-.H>/*A%K?4=XT&!54_X/"#'U['"1PN(L!% MT",>@]9.6]60:WRCDKJ0*UY.F0YVFG.J3;OV#4*:EPY19T_S(?@YA.0,!]88 M7!R=G:>0-6%9(R::715 <\> UDTQY#/=#3,X2F8UA&RH@=H(Z?,44L??:L2R M$3?[B_ 0A4JNO82O?$L3_*U&=V MBEO>;X0G<7D,?T+#Z']AZG0:@;UN>L8Y9E=.HRB^\3D9@A8?8UD5C M8S2BNO&B.LO2V%@9;83PN0@A6104F.@*TD8?<7D-?!.\Z'2';;<1BF=I88,]9>%A1U,@,5V@PF1\B M0X'S$(;:Y@=YH?)X'UZ<(>]0^J38-<7K*#+ZD_KB7Z,E_V\5I*E5GL&9-X1' M2;#VFCYL%-?7)GMO;;C$4I4QRA/,\83 $^-1%V6-)!&K\#'DS!+4Z^6)WYO8 M:=\_MA+?E$ZSEFM.QZ]9R*:.]PAK!% MI_SR=C]RR^+K9&S?(D1F&I*<7#M/!Y6)XD6(_""&F;P'#F/Z2Y@!MKQNGDFK M6E'P5\3D\.;99(S%W3![" ]R&R0J1((BO&6.GPIHG6+8CQ(3F(M[6.KCDR+7 M:;\VL'<$% &/#>@EBZ!,5B+#H.;S>2( \X@UN8CZ0%-=O&SQFUFS3F7U_JS) MC6Z")(YX>F^7>=\4>\6PP0H[UGW$D$#JCZ[J^3AB' ?\-\%@ JZ$M%<1<2T9 M^%X?>TPK!%*$<(%TMAA"_5]$8Q$:JM[01U !@P;%5+6X&^+0R\=$/(*BF6"/ MV]8XEXY]N?\D4&%_W9WTCTEL@&UWUS^"?^9$93]?/0^'/+#8XH)/I6 M]12!4.QV6AY2,[08#*GO=0YVO?MX+NH7IK\I.J;!C C[8"0X;#%['6J%] GP MB?>J#L89&"/A36YY+XEUK01P-LX3V X&+L.J0(['RO15OGJ%EZH(YELIOC"9 M IW.Z8<".GXJB=N:Y@K&Q7@<6"S51SP9$-^B936(J#6!Z\PE*MGVS@>B^\W\ MMN!^!XSZ$?=(J8O2TCWJRL7#AL=.@[=X.?'0U"6^JJ 9Z2\^XHT%OGEK^O1G'\='&A__2HVCWUD 1HUD'I+T[R' M%A2<;@3SEA'(FCYY$I4)0!XUQQ# (-NQV%=O0#*URQ!@RMN0?D28M!QH:#7K MT,3>4E.!VU?7B=*D'!J.CXY$N">>$=04-,[XB=32;R76O<]J@C+3"\;$8TKI M3_)!(D1 BV+,N8-Q'FD'Y;: 1R.3&LS58@8(WHY V0C8KI<@!.G,-]="QIQQ M;>\#"+'N^2W>F+PB[&-B?P^IQ;G)S^N"N:0A"'$>A$.C'QI' MLTE)GI")6PWW5V-$+W[X:#69P9\SKL_^^N(=!3J[LH20@!6S0%HZ/T?Q[=80 MT6,$;-"(J.RL/E:T]!)%A0>9QM_QL=0%F^A2:AKU,\;'()Q9 2B,K3I[E-EQ MG 8&!P<4!LAY)KCP&2/E9HH$7.AT<)03E'LX%#-P3%F[T)Z3R\PBCQ2HJ'Z* M/_;M*@B"*3$OSB:D@-G".X'5G$VT\\V=YIB1XQ S \YJZ@*R!AEEDC!*0[QQ4@IF]O'08'YV?M@B& A]_?';F8!&^%FFH;SE_ M39V^6%BYY8"52=#U]<*80? ^EZ=G\YF19H9Q;4I8$P>TZZO _T6_[K5E+12A MO[*.((-H;P_49M1GE&]9KV:U2/GI'2I(QV:'1N0!&(!E#1]1O(P8 MKO!2XTF",DBWAV6@MRF4DI0-8C>^N21$7&8-^H4KP$QK""/G)WUZD"XHXQ G MLZ4I;[=#-3ZPE!2GPQ,!]S>^XT[QCIW#0B(-R.9>\7.YAT0A]'P5J 'T>[@A MV-IX>$3^2.D59NQOEGQ0?F@ M)MLF%9^'LH;V0_0YR%$;3/J&?C 20E9K0O 9<.[UM4F $2JIAT>\1F3: *FZ MEB9J=E1<@@H&AQG[$X>JHN\STDN<\*RRVQ-6:0# )QP+DBY1(_PM\H5F9-W" MQ8E^%1X&0ZM1WK0P5#!RURJ-$&2#,2U=NH A[O&DC&!#_2GN#VE!/KMOPC-O MWH6#<<0 #*)0,H1]*T38CRFQZR2,Z]Q*O53TT&+!==_+')?8E0@RIO"I+'^N M&,B4.A$WCXHD9&3$$R&22W:QW,R=8RK)961CV*/Q!-X9C MK+>]PJ/+OW^!EZ^]U\)MJ9BJ*1?U/3J=Q5HRI.U@F#Q6[\6:.BU6\L\6:L^0 M6:SOTGCHD_-AX%)*9^2'&)0SG(X^$6YA5>8M_''K?1Q_QK]?HO(>\835U/P^ M_OAK:Y"=8;GV1[MC2^^_V!VU+)+*\6R/::>Z2Z_H73[ NUS(NTP_CN=/@#/6 M(()3+Y@+>E/9G%-N0:1H7!XF(Z6;/!$XO/LP1+AUD)P.'O3>+91)F&H-&J?:YO/_S M7P<[.PANK'.#+?H$=KY\HZ>A_#EZ:>7/> (J=Z!I+7^:(1]8Y5/Q6LL?HY$: M56Z<*O6Y_!E2@94_NXYABY4_Y&DN?\J)AO*G(#7F(TJ)!*"<_ 0%!BNB>>5T MU7^DKIEWD]C4:8O82H%\6V%_9I91O*DOMU;[[E2G&+3N*,%Z MLBJAR$+A^)>TB8 #_0LY8G7Y#;4$8*I$4;@]3:5/JZ^TCK-Z]4,US!HW.Q6*:>@]Y)K@$GG8?VL5>8!!T"D;X35,L%( MEXT0>S2/1LAYTW) NR453CFR#-)96!XE2;8ATB>+:++]4O* MRW&GV]]Q(L,I*&#I)23H:;]$ B+5%SYPH60UA'LBDD5U4EW9D92[O38O 2:& MZ;U)S;K@J@D-@H4_S*\FQ<1:J$!RG$%@]A/WK/Q:M@X60XXS2HIH]K5:4:M@ M%!?%3K84.O35[ALN 7S\6B?7:/,'3.R6YK25BJR(MFSL+(X5+:ZO!;73.B5= M%HQ@9-D\?=3GCMRQ+VQM8A,@93G(2XII)70)^3(_R^!EY<]@B?B,N>6!)<(/ MU\]DU7CV!TV];!@]$'CU. SZ]%[729RF5Z9)YE90KZTD((P]E+05;AWQ!UP:&2=C M8-Q=QXHN1EDN->2A6ZX?O.4ILC-U)%XPT\R?6X_OC+H@+M<5^>U94,DSC!8W MY?405DM[2N*MKBSU^0 5[2P6%6^ BA8'*GI*@KRA<6B:4CL;LO(8G)R*R%^B MT\98NB2?X;K+1Z6+*BLT/S?O:[GDX^\-.,MH*!CA+-56Z:%4]D2>I/A!7PU\ ML"->@Z[-\.'Z]^.8_>.^.CJ_.+R[-\A;[9KUU! >;U_AS7LHTNZ$ZNU5@2MBN MUH7EONR@\&);QKO3X*+:$I)HC5>72Y"NFOF!/JI"H]]:ER*AF*KHM"+'<2ED<7E1IN*$8WK5D>3HY;L&KI-X4S+9 4XJN*%0@? M#8),UM^8W_ 1>C#^%[;GR L3EX8ML]0"FM$^1#8.>]Q,5$'G' M6.Q32H];!NA=7\&YY;3[%+^7Q1(C8+O=F6)=5QX-ENQR#SM\->5I4U[J1>WD MZ$>8O=/!*O<7=YHSKWRS!YS"ZK.?9"? :L!X>F(VJ!< +(+>9SP*9O0#W%>_ MP+1P/R427[UVW=4U[[:*'"Y?B]II[TPKM+VGA-%JVV.N9I]>$8.YSIN@;^AS$:\TLF.+^E"%J#E 6!F0CW^DNR]CLOEAYV"<68ATLQC/ MZI9$PM5G[R8.\X@Z-\!.XQBC?@"5%LA0.!FON_FITN!"]:2"A0 &^_"O-,,> MX*AO0O7%RZ;2< %N081V*2\>]C]LP8I$4@$A*XPE.#_%M]C)V2IGAW7O#Z;[ M4\Z8F04*HH%5: ,6OI\-T55@!VFI(::9&LL 68KH)8U1*\/F:+H)\;>QBDF_ M&4R=0@0&,.']OC-,%E>K'$$D-70SCT7(5V,$8)-2!C\Q0)0&K:$DU95]!!Y= M= WJ'%RT:4Z0KH2 MQ!K#$X2S"79RZXK+2QIK6]5D:98U!V8-]3NF97W&&AH MRE**B]I'NI/J.^B2B)GI3G9\:K*6I'$(_T;7=-@O@?4=08I5ZUCJ9A>!6\.P M%D?&:KVP!HLTJ1BE[APG42P#Y&7P-91H9FLH\ ,9BI'' M/J:ILI%&R?,;^\0YDG.ZR&GMX88!W0IC]TKWL-8,Y2A-2=#Q&A0JS([P;"^1 M_*ZJ5/(>1:G>VNK<'L.4G-%,@= ^-MY2MY1AQQ#YJGZ0Z'1EQW4Q>6)2-\@>KDQ>O?PJO&IVE*.HZS*1&'D!D9%JTEY&0!V$?AHC$_O$ MU!7VN?K3H'L4)QZV?V"&#-<5SFJPL*AX4S)3-&38D+4IEI6*,YP0[&R/X^4: M'8Z7C^=O+/WHU4W*ZJ.>I*_;>&9?JV?V,#[8(B+6]/=OB.3[IJBKL*>"<(2>3S"Y#]^LF**KO MISIG-0Z9>1V$MC#5AHFSS^P"_@SG0^EN)?$[#+YT8/CJZ/4$)X(+U;2794T1 M>F;@6HP1I3,5Z*I6X0)RNLMQTTRM5@N<&(XUL$.#1 L2IO@BN&16)9HNW\+B MN+SLQQ5#-\N *TIXCH&B\CPI+S05;RV*W"0!6/J8/8OM(6JH"^VGE2$FBA@) M+#16QJ923D9Y*:D.2 55$3U$BBN9DDW*Y]7@UIZ?G&'4B>H.#1Z9AG,KJGH+ M:'.EDX8";Z[Y.P3J36>A2P6+V%!V=C7O-C7CRPO6%SOJ]W"Y/T+T M T&HP7U5I)W0Q]0'"H9+1A([,A*G4[CP1UI@J][4+JQ+06:S\1#$D-+$L Y9 MT4J>9^3ZORWN;E>M(L:N ;C1;B?WU>N_F;A9"0+9JICVJ3:*OJ2(:MN[Q!B& M+C^]5A%AM<$4<[QQ"EVN9I3$R:+VPV*F\K$ EKICJSEAJ0>H:*&/I'R6@0&L M:E9+!,R!7>P"(NQ-$-'D/$^*XU5[Q>6@FFY2,D B@4&?-[-WBY6+B!AB-F81 MU9!>JX&&O*D?(B7JK8*$HM?.A5TNLWJ4\N!/U]U[Z-3FDYJQOG" MY#,\!2%[>JY#38WQ@/YY$%E[\<,GNW>FJR9QU->]"GA:EPO_BJ10X4L^3174 MN)IKHY!T+?IJZE #@)OL0B4!9L "EDDZUSR[(4U95G&5#=*>? !Y>^E6Z]E M7%@FQ+!H-(0)@VY"]!8M!Y.\'UOEAQ]0KCC7[:?$"\3)(SU<262.$=8QD?=D M./I W-% RZ8H6DCS70<<0X\DD?%/:9KZRD#^<>OC]<8MYD'.OWFFD3BRK0Q MB:,]*7"$_62DR,$=A$$O:!!X+^?&=7/4 L^FBUXL"$B>Z4)AR4*A*1ZJ M+R5 +VR7').36R#E6=W7I29 G=('R6 LG$\SG4O9P5.RTJ#6H-T9.1:Q>!> MCH=4#'!FX>C/?5?=>F1+JTFBPH[OZ=>GAG\*Q*'[8I*3SD^*1:VZ5-+(3^F^ M$8X*AVBOO3BUC7'?&/>;>K(VQOTS,^X;^_RQ[/,[;?(7/Q1%5WUE'?=HTU?+ MN4P-DE6QP[$\R^:OVGM+N &-);^A2:,I9\3"JNI67J M+;;ST63AU#ZR XSA1/Y")>1P:A]L_T,G_W4!O:Y!PXY^MNKJP'@9>X!:<>QX M85VV@3+SS@U+]QI9@;VY][7J*?XU5207.SL_';S\I?/;GZ<_?EI(X\U0--QTROU)B?[!BB;US@T=0D>M0CK7OL+,)FG(M;W(X9SD*5N?0-7*CY ME=* R 3:,M?D6$R_7WW\]_[>A]TWM1 =3T2_WZMYNT[=N[BV749;SC.#5]2( M,Y^QP2;J@J?E_;[1ZEPQ]>^S@ [<#(NZ;O@6*A6GO 7;U62 ;68IJ44VO>NQ M5!78#=@$N>J@[R)KE93,8I [M%@H"[Q7^^'IG37G\;O=JYW]W\]V%HL%?'V: MOKJS_-&Y38JMU&YCZ MB5*#&7'CJ-2-#H.QE"6PB7NCHC[2+JQ'ZWX\//S];:?S\\$3#@$W6K?1NHW6 M;;3N+*VK$H+>$K@[XJ8APD>$!>S[2?_N(8.7?^Z<7EW\=/7'8H#(C29M-&FC M21M-^D0U*;C^V-B$D!EV@'=-5NDO?_Q^_N/'\S^N+AM=VNC21IL%6KJBW>J[Y:: KI\D6'6_KL#K^Z/?MO]\?[)@W6NC;!MEVRC; M1MD^*66;J'[>8ZJM3'#0L&B@GJ:5B.[2,OGF:LKU[<&;3YWSG3^.I]#)-H/#74-6LR69]^_[CRH5L_7_[R]OC3^XWK!3/-';O(Z7F7 MSK!ENWZJ6G=&H\F3T<&/\P[K;P!>:CD6[@Q;EJ"'VH_J!.1E>41/3M4O_N(U MM$1/^$18_+T/U[OB:WO-3( 41RW#QY46D(4V6J6%E[QCYBX".C)'-N]^D\/*4!8X6MV3DD] 1B:2CQ(6 M!/KL$>$E"M;LPU=U)^RJ3@M-8!VZC+S:;KNS?7C ZS,7B*M!#7QJ.%[W@QHX M^:A_L=5ZQ0#%&H$#.I,0D84'?+"=C#13X1D(-OOCA1+JF^00B> ^GPQJ/ MM]48-*> ":X!0+Q!#G^R>@J%[ Q[5@4QQH5HJ2"\@)C%2(J,V')!=!,'F($B M@BD_(!H6@OSKXU&.Q#>7EH26<0+0U+KQPUPY:(%\J;0*W!!FGD 7,JQ 8&"Y M91/4"#[SN" %;PT7C=-E:S]&%]+J:S3_$1'K!"%,WK6^AP--Z% @Z3NWO2.> M6WN/XEP*TX_!WH,_RQY-6],9G(FAQZ QLM&*)6L, 4APUPIMW,BWV' ,Y+I, M:HFZBJ=UJ;N^04[S=.A]1/68>I<@*B'1;N'C4!TPM#N_N:RDGD)$1T2H]#]S M/V)B'\$O1-8\ TNH+72'4Z\>W)"8PYCPAUEP$4:H*DFW"FF_W:5FNB$C3X;\ MV\!CMKUW-=)J]Z_ H+);I:+*\PP-DG-_GFP+^MP5X@4TN;RJ"$M++])4O5Y' M!3PG4/!JE4#!(M:P5WK$G7T7;17-NO']O28Y\&8LA^W#EYV]REC0G\%9__[% M3IT37((DNR"(K L4,$8(P WRT2;H.M9,ZQ\31<#VX,+J=7V0MWX2B_MR^]Y? M4Q[1^'=?M=VT;O_NR8I78X)/A?PNZ?@KPPS(\"X5P&ICN)U="2>C39\)DY6G M57X4/O(5F6N]22]$26M9!AW8);<1+&ZL<%E2XT\YVY]! 1C\5\6Y\S@=@J_I4B#$"R(D4F\V" MVK;3>3UC;U1EL'HMTLR2GX#WIOSSWR#R*/D%)>S A:1WRGS )T#^UB\^9]\=CV;EH8QA%@R!6WO$FS6PL$JZ:(4G)G$X1^+J[QE M&N6VSS^'69N DTSN3AXQ$CVC8UO$!+^%F:#A%B]L 17T%&LUWQU_Z\ICWB:!U5CYF^ZF6_$JV%U?;:IG$]R M\B#3>)1AZ!+;X+AK(T[(8M=FH,3^XIURR& M\<%'S%JD^92*:M#0X3F6F+=-1UJ0$$G8NV% _CH$?@6?DI1O$,']QS%[$"A4 MH!MMD05]&WNX3G&>&A&W""GPFGK"O?7&,1KI>HP0W6RZO164; 1/U2XK>I2@ MHA)_:PBW0(45ASE]NKL%;A\H+6\0;H7R\ M,SY541HG.ON_2Z:BQQ_".<](.*#^/OVQ"S+4B%,.E_$U,[Z,L[[*P3;@H$;+FH3N;DU3G$Y$.EW MXSQCAFKYR@XTXDU*?G,_IA2BSMOF8[Q8,RH86L>!%?GA2;P-* ^(.PLN'P2< M(4NM0?H9R&8/2R!;Q(<]P&'C&/-(YRH5IO("":JB9".;#JS.0QP:S;[?B'U? M>TZ\^,&49C?K_CS7_4[ZGOGM;Y$P-]1:BC1S205=8\, %^E3&;=N@<#6G$@A MD*%5J%#$HNE6.]L['=+#F/1'MG%,^U\G\6TVQ)/$[LBIWH#CXETU*S2N^E.* M >ZID7%=B?[[[S;E2Z?WG"[;1EK7)ZH9WZ^C^$7]9-1,ZQP*SA?_@]:@OYI2T,986-:.[L^4/8[ MN)+WUK"\< .RV8[;^YV=3@5\I-U99G.OMII,C((@\_Q-WG"=Y5&QAQM.H77 M:5@0(=09IF*\?R0Q9&/N(5 MWU\5I&4J#%*Z+C2D60KO";SVU!:UPU5J5YVK*Y)Q7ZA,]W6&UN$6K2PWT^?' MB- Z,(Q6DQ8Y>'^@AD[C7VJ=TJ/J^&X:@Z^OBI.(VZ/%\RP"CCX&\,)0]^Q4 MHGI@E8,BM/K&6]+$C>W%W%:JPW6D]ZBVWRK>DK:=K@JI@DL& /I.?0E2UM-8 MGDY_(U>7($A@Q%3"+L%,&.Y;CIW MHYR%9D>?6'H([$#KG #JFJ*F5Z7)E1DEO"BE,G/6P8*KON[!MAG!8=+3O/NW MA)03?QSTBXFFUA;&^,!+6R@&/H:=8:8R_[-BNRF I>1H)P@2WD4/PHU!P^A& M.3&.ZQ(YT\KE88M"OR0VSB L2:%9%K.$XZNJ)P$H ML(A?&(P"7'@;N@"K7O*DIV2PN,GT@#[ M^;3XEJB2K%!,69 28N%/-T^C-G_SM@[$@>"$X2J%6'2;Y@0'-LA#"IC?2LU8 M C. 9WTQLW;TVYHZ:S1ZRN$3B;/[?9 ,O-@9F5Y,!XR"/H=EH;UI 1!;C[5> MHN5>7*M16@9/P44/F!=\JC'?VO,.NGO$#3.Z??=>G?)J^&[EV,M+W=N:NV M+B/->=5<3S9F=^K5]'!.M:- FZV:$^#S8OUGMUAS"62JZ=H0 M.R-?"M7[5> ARZS#!Q0V4SJU;963Q7DRP%+Y$8+2N&=9($\G*ZEX?DLT.5LW M!E1'CVD,WZ94SQ\5WC)'53#?/1E3*-6,I8U156EJQ#Y*/$9P-BR[2>>V\;WQ M*\L>1$3G41?/3Y0 >C>I,C1'%IV0,HN6N50,.\13,N7F%V=2Q62S_TY1E$HD M@+ODT6@5VQ6-E3P+0A M8?Y3]N1.;&,SC&^5H#0=I0'(%2?$S>T%8L>K1=JY M]U.RM"7:.]//S9WM^XUFW_'@O'-X1/3K9L8)[B4PPBISO2^\U%FQ/P]S>6J# M\CPK:;;E4WNR- ?KPD;3*@=KTZ&Z"1VJ2W>?EJR9W;?>T?FI96H,Z"RNB=38 M)WS9T*E8-_J,Q1_61?W1:F"!2MOUU5E-\]ZCU^G<7PW.1Y 78:FOET!+UMC. MJXD<$[2A+K".K"]G'!)B2X@U@<-3!*L$6KC.> M4F"LXV1UW:X+OZ@!=F),)G-%);Q(DR%OS8'4#&.F9+83W M8]*FZ'@FJ33&@ M @_%1F>RTV]Z&B1,)AWL7"Q*T">4$Z8I,Q8VOG.>1#.U@!U[ IV7ID8O<)DJ MC)@,?@)8M2Q[,,*5[1<8=)R(6/@(6C^KB!4X&$5968H6"/A5Y-E2S15*E;L!T#H5@,UFEA PH2L!>-"[_!JI/56,;BQ7<=<#UMPD^#JI[A= >"LS#$IS">XRB#YE[$!)!UT"4BN@LXH6 M"@W*#*<-G,/3QM+VCGI@I*"P8H0JC^A8Q+70AS*UM")2&5I4!$812TB',H*9 M?ZW/N3C/R*J308Y5Q(LA2ZL ?;YC4"^S4!WOO,PUU'5K77]?0QP@2+J)^,D-F!L&P?&5HCN:M+4 M!+0>462F!\T6BU8VZ_, 3=ZK*N)9BWM>VW-% 0I<'\2T1A.-.$/"X#,7+S%. MKL<@3Q/; $.3D=*&&C 7?B-_7 94K DM/BD!NRO8@",04YI0'0L3I5;$"@1R MIOP:.$@_S984Y:F2;",PZ]+Z@B@SB 9AKL@OJMU17/;0I5X72@\UT*QU8J5-/7INZP@#*C T010M=LHL5 '=REE M-YW;$^0N-A:3J4A87/3.3\[^.UVM#;Y19U^5.BL@*HR,DIA;$?C7(*=^2GQP MM-!F$Y:V_FL+++[E]7!OZ)A5C+\)_8E-GL;5QE@N[J.MGH<^Z4=!6UQ&PS:R MWSLH):\:++OG)UC+1)YFH]8YC4TU M!;+VR6AAN7O8@RHY?>HAXC"P.2 +&Q/NP+7%?%V9&E084I$1TBY@+0H<-+%H MR^T.4Y@&4V1GEBA )0&28AUOW"/"5Z["$([8(J54!@>WQZFB(8Y>&HQHI-%U M3(U<-;2CA/D$BZ,LLI-N$_G^ZB+?3*_9:)_[C'M/0Q5P:S[70S5_7Z";3^]8 M>VQ"$@Q%E<\.TZAA01Z ;V?(HXL>0M;9[L^P,8)^<)(G\$VKW/N:1\%_TW4KB<*Z%5V^J9(T1B2X%H[)OU:Z MT'*JA68]WKJ"-B!U'^-C"L,/FYH#+.GLYDS]":+E]^1Z# 0G<4CQ3L_O(X\= M_)0YP_%*31FG68686?XZ#S&TPSW$H;KV0R](TURL,+8@1S[*L.9*QY9KZM & M,8\<>CU :HPFTJZM+7X#E_FDCT*D%03Q25JU8V8!J3S"'\/,C#$ 1[R& M4Z!1P[B'4HN]]-P+)EWG4E7+& TF2F_FV@'5D8FO]'P_)4M\5J?=6KK2*W6- MRT -/AZRX,L&67 E9$$6L J\X!WD:%%,POOKVS0=V::N?2E,PA7U>Q M\ZH@;.LLVRZ[?.6B[0=T 9>LOT;+P#K?:WMB:DZ? #M[- NSIC:T;Y2H7H*) M67PF6.*\?QB,E_)'D38N^@'BMHC19YV=D=V\DGX.0FXL)^ND[C[FTJ))Y"%0 M D\M$!Y-?.P4#5-,#VU',+QTUTNI(>96$3 1X?A\&9/%A2_$L3C+DZ-YQ!G& MLNWN1,^Q5#:WN 3]/[E/:U [2:599L-0#6!Y&<[&M.S0U&///35KZ>=.] HX MBY8I?\2_*S^2JB',/6GIL)(;%B8GPT7#][@&40'OP[9B$HM56O]4!^BY98/G M\#:H[OBHPB;P!5'7#K%+\7B/'+=,XX993 M)!;RDG"WFX:*^K+WAS@4[O:/M#6WPFP MU-NLVF5T;.T:[:S*/M#:1Y^ _\F1D"WB88<%=\3FW((9\3JTK'/'YW5N08U M@95=A=M= (J11P_&G]*:W<0.\&Z1RF[CY/-,H%LGDG5WDB=[3][OLSXI,\/< M)(S3X(VHR9?T%V+MP0_\" ^YVZ&**,:@6[;FU*89):0#0[::9-847F7$[2LZ MBO!86\-Z>9J=QGE#E,=:.!H*+$T8/T^CWI J9_G2U7$SY8SC,PF?8!( XA8J MISH-.5KDMGHVN1_8CF*E%>5W7_ZCU)1XWQVTL\!_[*;* MQ=3[LHW%+J#6OG,"= Y?XG0\D1;5^0#7=\B5K=STZD[M/'H+FFX7?'[QN6_O MU/:_SBF 6V7RI]Y*K^HB?NXGMJ_!LXA3=C+ D.N# 8A!"V<8D8ASSC,ZE/<:SUV4#53K-H%\)27_ZPF[CNS8Y"G.1FO MI)1M6U@FD*8T3T3/PW&A.$\(#2RD1AM]90%CW/S%!]?=QPJRML0WT-Q*UA9+7TE[@%"DE-XTR">"&P V190#C\U;+=N$_COV) MI@BRYT_)0DH3.+XM5N#GJ]RKCNP?"X#U2,.\)A3%NGI>=CCC&PGH/> MDS.\$G+-$';A%=[C1ACK)JQWRUP: M-O^&BY)!!2,R,LI\ZQ8F-WM,H!3%4_*4TYC:):HTZ*165Y0].L/-PHA+SCF- M0.0\Q8+3P*]2O("3_"Y;!T'E8<24 @>;S%FH2B=[8 AOBFOD+"0<>H/Y9**T M#DX4K$<%#QRSTU86O5@\'%IY[:J+?6M=*\_J\TI\+H?W="22[LX4!-Q81I!8 M%*,L7JN]Q+'XV&?:JYWG?Z:9/-23/-1>[JSU4#.W:PZUU>9C8SQ<#TL&>D-E MCC+M_*0*W !*S)#:SOT$?@B+!^.<*K'&2: R M;-L-(JJ6,DX:-H$R\AZ=MM& "8W1 _,SWZG%LGITL?[2*K5G#RU1 G^H*.3&F3&*+!@."$-!):U1]1B)OL-5AX%F3F+"DB%)O %F)' M13<.]+PQ">[5)%@D4ZHGL ZZLBY1.J6(\2[XV!N*([0!V%/__+^SNB7^[S\? MI%_B'C(>O1CYIDKZ,HE?4=TMLA=)+ M8..**LH>32O=8EGC,[0)K]@V#*(IO M^*Y&)ORQ\F-;O1<6A/<3S'/:A66TP_9%;L%&A]A@XV_C3C<[ZGC MH[$QG\RYO!%B6$GI(OJ,HII/.H;L'E?34_ VJ>-DNLR[<7]8\\4O>?C93Z* MNR(^(A="7W3L?0.;8!8(,KGK_6F62.*EVBE/<,5",5C;5L M1!B[F]EIJ6:HF(G!S!$CP"1;OZ7JJ8#JK? +"VWQN\9\;Z@0CB+C MY>XC%,OILG0\Z:KD? S[*VW$J1&G0CXT]YL2Q&:LYDH(C+95=E-U.M9RA9V" M+].$"#K1AV?WP4N/KF%J0+OK1EKT;[.A3E@OP!CWO+S>A4=Y1Y*;]X0^@XMR M4<#2?$2P&H6C69'X9H/F^%[;>W9>ONSLW'][SP86)-5."+9^[NT=+CB%0^QF)G('2%MP]>8*=!@3#UP-;,D8 ). MU)'U]Z,Z":O.%(-]W *8"UL@(1LTNL$KW*K]*H5'2.Z.Q\.CCF3,FMI"UK4N-?+IT)EB71>V MEPJ2AMV86JI-HDID^9X:-8OF&5U=;)XX@SANY7)*HZ_6T3(O.WTYN*?E"XKX MTNF5QDO7!CFU0#\\(-S3JP;N:26XIRK2TV/7G7>V#S:F\-PU !>P@ X/UEJ2 M;6ZW=@OH[I9/#01RG3&TAJ+L5X=WF9(':S7"\Q'+$68>NP;M 6/)I+L-6FC20C#49Z+C+SPATS'^,#W[U/!;Z(R-(QD_$5I M,P[-!UM*.GTLXY*,DF)(&A)IE?EO52R+4B5W/Q^' :%-V@!33I^L)IL7@P0\ M:)2(^):ZQ:17N(?Y][Z#QLIS(;-%/QL$6!K@C_F)5!M- 0%IEL)A\S5M[\AJ M^8+%):-'YM:^7%XF47\K![RI8LX98\IZ5OWZT^2#P<:/H^L=;*Y2?Q=3?66\ MA&),@C4LLU.01W%<&,%:^_B%F3'$5^;W$/O[!IOD=%AZ1@VWO&)OZ,.B@]%+ M3%M@:B9]7?'>]M[E">Z]EOMY40G/+5W@6^ 9+I:D60+K-;F%FCF?Q1Z7KG7< M D(7;QT'- MTAR=(%Z5T[=NW<@GM\RC=C?3>(>P+>B,(>QVGLA^P1UKS4 Z\Q4-MAB!;:4] M5(O(KDT,3D[3+]&U:_EC0__Y%]M<@^^OTQT>OG9/8:W1-0T+I @.9W9F*L7A2+3%6!X3,]#-G2U9$Z)$K!/MNVH$0/ M?,=&9)"0)30[LBG1NYS*1B96DQO"F87B0L"+@YJ(TISXE[!K[EJ: NW((3>V MP8U"Q. TF7RMO_]9JNTTF:N9(RRWC4[*G?.<)\N4-2RGM%M/",9!M:THIB"> M )8U",=A+I.,YPHFMO!DH<*:'F+GPS7WI[O>MV9^@Z'?V7VO3U9SP-4%+ M-K#M64S4M9_T*6I-^YJMI&VX!HX)EIA8Z.W1_// M++ )D\V.$+Z(_\Z&(%)-L'!?PZ,I8X:C B,;7H_N7#;T_6D>L>-LB+TR4@D! M,FG/F W$U'C 5?_7OXF#OHZ/$W BV!M!6K 1% Y6.DMN<#?7>AJP,0C-M2_@ MKHGJ*7P3'&T>%>Y>9<&(NR:1^+Z?N8NO _HMMH\FU@?BH5;&I^$VW(?H5RI M($,_&+$.L),&^ Q&"&%O/&%2"A9O4D;VGF&,1MV::XLSXDW5Z"7C,.M*N0JL M20KGR9AGF)J__Q;&2Q0$:YR8:,D#7BMY%0$R(:Q)LER+,P>K=I@;#7BUR3'@$J%VQR'CB 8-9+ M&JA>Z]5H.1F*[&,=#+" M#]0_#%>23EHG.])F'1?E=1P&I"OF =+(QOCL2I0X\H86)$XL_6W,_37:'6RO MKC_M]$"V]9W'=\=:BG<&8H^J;,A5Y5IW==)M@?23"M] OP=3.C8U4\])DS7G^"(L?R!T"X]ZZA7%> M&%%<1\T+6\;MU(-WI)^)/RK#5%@@'5T+,4;-DDP9F_1'^GK9@D1>9RY/2MU2 MA1CW386=CEKY^.=DKOE?)$U!\UU=35N' M)L);,\4W%,EHEEOOWSU[,_3O[X M^.Z7:;',S:@CV'FU?!E!9^UE!)URMOH^P&H6+F MR! Y%!FUT0@;">E&@Q!9B>@TMI0J5L<3U] 8BR5AFEIXJ&*8B$]U=%A:$M9" MWZ6OTEX2=)$8,TR5KE[E0L>C*,(8ZH7"T"H:(N^P]ZJSO?5+RQ2O^NF_[J"N MR_IWALIU5/,]P(/Q [Y_@0]8.9]44DQ[_W@P+;1&=5JN9G]21\&<*5\!H&R6 MYBD_;8V*=QT+:P]UK3T*NFQSBHX\G.(OWE'-WW6VUZ74,5W"<7R&&$ETR)XI MY/HY*')2PQQ5OM4TZ@HFY'"OT92-IOQZ-.6FJ\KOVG=XDMJ\]DU6U>T5&;E3 MJM=:2H!JZR \G MJDC9^@C%UV-V_VJW2EBW$"CDX;1C3@03[M_>?XGS,*<\K_0Z MYL;/JSQOZIS?_7WO6KM/E>3=5/.KVB7'$GT/ _ *J/.V[E#B8G,A>2$F;I>$ M.QWZB1K"9"F&]QOG"3@KJ2KP_:A*/?&Z(=Q.RNV$;2JX49'IS-4U@=1XG&9! MEHOS8C^A9= R9/!.*;T]<+>$,%$>X?7NMW8.]UJO.OM\U[2VF! IW3.?T7E\ M^LE;U5.$_[/;:7D[VSO;") NX"J5RX.4H2ZH#0*'^N'H\NW1K]XE? M"6G0&9"#X24+G"$9H$8I<@:%F,&F:X_2)EPAR;/;AV\FIFCR)@YSKG;K?@E-#/'\-H^OZD[5W:"WT;I,. B7_-@E/L MKKS>]":2 :HT+#+[%TA?[S/V$Q(+49".XQ16G3I%)_;B88?% SBT>"'&,=+E*AN>4_/)$X,M"[&@+04A M[RX+,73:(W!^%+;JTRR5)A9GP%J_DM $D0TV33-(WP59VWOO\Q25'XOPI#3X MFBT/4E !F/:PC\+.U]$;&=UQ5[25=Q_>[[S;W_OYZ/R>T58>#5[E\0H<[J'' M8!5O>IGPT1/U!0X:7V!-OL!4E\"V_[VJF[#4UIGNJKK=R-:0[!&MO"__O\I= MY.N=A0S"E:;ECL^$)13I8.*6-W'\&4\#(R(EK@4]E(IDYDF*'_35P,]#>#+8 M-?AP_?MQ3$?3%J(N9*D>/9T3;_]Z<_['JS\[?QY?_?)C_2FQHJD\98_O3',* M3J].SKS.F[;WVX>+D\OS][^?O/4NKX[>O?..S\_.3CY<7=8QB=A2?K>U6,OA MX*(;;,RP/L0&"[,;%J@.]Q^=,G&I)[U)3OYZ\^G-Q?9/G_;W.E. ZQYRD^RT MO8\7YQ]/+JY.3RZG;X=[7]:'=[]GV0W(B!)B"$N@V[7JV/GY\$UPS&DMG.8>M@^^72,@MK?PGBX(\1N(<\9"+W31EA M5!@6RYQR6"L44@/]J"N@>9HHCF!XRV)X%\DJ1E>1*K@="=;.'@G6;OLYK_Y< M_76$$9&I@$NN#RH_JX30YEQ'< SK9EPKPKQTSX9LS7[0)K(15[W5E759L^#6 M@K.':/[R!3<(76U"#IBV(*@[CCZ;!B;2F%RKG\) 0JTJ ZY.NO*#6U_PXX6W MZ1>XK!^/B@JCXR'H=&V)L(+%2W_.X1!&W0KVBC^A/Y$*_Q#?L.: 3W9:FM*4 M8I-E=)09_REB4HT/,<>'>/?7FY,?_SC9_] YW9D2CGU('V*W[;T_^?'H/7H2 MQR-SW)HIK,_NK[\$?8A[^^/?[]Y[-W1P>/OP_WVM[9Z8<3[_+H MW7OUT\N&/_%>[&:5&Q!]M'E=1 .8'WY]'/%Q_V__CWQ^-Z M25UK@F=>8\2=LCUN4N?.=7^=P\620K)CAJ88YZ&S/VO*]:RDD19*$#F1X(>* M'-:DI1X_!U0OO@^?%YJRC1[_Z/SIKS>'Y[N7)YV]G]9HPGH+'98?CRZNO-/3 M]F/$N=>UED7B]K%7\O2O-Y_^_6'G;/_H_'IY=7'TX4K@VB\I WC^P3OY];?3JS];\(OW1U>4'CP__N6G\_=O3R[@!E=7 M)Q>7WM&'M][IY>5O\-''WRZ.?SJZ/+GTSM_)M=[ER?%O%Z=/-7&RIK.A9GCG M\PON_+3O_\?[,8R[!G#<8Y:*S((33"U &M?HVS2Z%=[YWJ M)CDF?78.*%K;T2QQ5$5)_!I?J'$70^+;VYZN"X1+!2&WKK"2ZA:=:U^V7L+5 M77 7$;(7%DMNU#:8TQ'HA,0;^P&"[H+0(XF: 9AV"CZ]M_(M\]N-_0F9$4)< M@GQTB=*9'?B$U^%-[/-@WP8P<*[URPET>9#CG94R/N.3[3MV]68V5Y48T5D7A^XUR\V]YV_L[W'V'))LJ4?(?UI]ARHXLQ07JO M$W_D1"_[G!Z*E+>[K>N#K:)C$)&T=)O4J*,@-;<,(KH6$Z[,E(0EE_0$7W.E MR,O>$B4@B-PW\BHO=[%F5X;,+U+S ,*OUD.8.JD[+UN'!R]KID8^FEXYW:[> M;68.G.++R!-$Y:WZ3GQ[HOS#K:_I$ E(6_^8@DW=4&A&TH)O17U!]A(N?Y5J M[G$!#$/@ZX@Y@)>CJDJS)" J'/YM'@5"$&A=JA/\&OB6?S_S>T;:3T2 2Q^& QT=L!#?#JX$ZR M]VJ;9:^NOJ%L;]HY(_-ZCIE4(M61GV@AWNGLO-PY;.2P)C57C=8,Z)^[B]]= M0YE67?=#1$6>5VDKN[,___7F\)>??KGZ^>/>)KBSK]K@9KX_.487]=WIAZ,/ MQZ='[[VW1U='F^!SKCT._[AQ],<,U'^]\?>=[2;^_J#Q]_5Y?G5D"D__Q-G0 M0.LO?[UYVSG]M/=JY_#GO0<.F=-9M(^AU0]'/YY@!X6)IV*:^;?+R]/S#Q0O MA1^\__/RE.*DQ8%U?/[A[>F5_LW%R>5O[Z_H)UAZ?H1?7"YVD*U!=@^FB>XC M5_#63OPY>-@W@;J='P.:!X,BDM@-0=G-8/*V;K%(#9H1\%WZYQD5??X-^SP8 M3![5U6A6:=.]P7*(=J'&@XI&:>_,W;ZUHC"G_'8AT7@VHO"L-NRS697'WJ#3 MED3*)WVB7<=HVS4G(Z6]124:$$):JAC> FG0O'&B>D&*.8C=M])5)3!?;@<+ MU6!/:W>A!!K%U^6)Y>=A\)Z-E$_^0"67R K^('*TP3'HQZ_+=P+$]3IY9M@8 M5G1_[[75A,=IJB!U[%'?XR5#D;L-$H7@+_!3E(.M=.B/,1_"==)?)L-V]Z1]UD1C!+UCQI<,6QL MAMMCH=!044MP$.6@YM"S4(Y8B^ MS,=PUQ1O>E>7OM&!B^K .0?FP=[!CMO8_>W9Q66S/)NT/+(PWUFZ@@S<+F@" MV,+<3(Z[#U;.UBI#O(,7G. MP.DQ%7KA/>(2W[#Z,B8\ 1@+@Z6EH)0BYANV59.!XUM4-<$AR/I&ZLM0_N0$ ME(265,)('WQCU6^HO*]FU8-V,C:[HZP,GL',5MCZ2!$((?VOO;V]W2G7^>U4 MDVQ7) D?0!(N1!)2&/U@A7!3$RU^/L&GN@#EALJ;R9,U@;0G)&'G=0RJ7"W; M.92*=()ZA6.S.^%S=-+#(S%L&0IJ?!#XJ6%\"R.,\.J^&A' #!R8X';4>!V: M:07KY.0@1CS>$.%HO#P27/X,VZ(32N\SUI'2L3YJ2O!4=!,D<8375VV6*66F MEVJ<2;$?%13#:Y(UT9?^!08>9O!7?!T0E$B[XHN^BS%/BC'Q$4(#LUB]E[NO M5%'SS?GL5>2[IT@-?@UWBDRA,^$$!3"?"2P%8N?&88"OR.^';0=M#S.4]/PP MCJZQX$(E(^_;H*W:##(1@2S!F&Z(4Y*PFKZCPD@PQ+!3W2?7$!>F0%:.QWBT M8JUO$3+0TS%#'&:&6BN6*!B::(QJ$ZW&;10[L0G"/FMSS2PW=;-4O ?+7\#( M ,&T+RR1EE_:U5Q0C!M%4N^/, 3R+0GBKB,0_6%LH+])+C1MD*D%-L@]"N..:K%SAHX8J;&*A+%ZD3. M8PIN<) 4!GG-\7Q8I6XL(8TEK89%6GP6-;K%<[5>S#H_K2 -;*L,]S?&2L@* M2W/"EZ+)0S@:)P["2C0U:K1E\3V'$LL1*"GN->+EZ05)#VX+$^,G_9I%Y2P9 M=S+V;Y!JKP\W[GUF%H6IRV$/;8DNJ46G4++-F?^9Z"%P8!FE20:F.5&@^]$( MZQ-Y:E]A7PAU0E7,%3N$QH?1( Y#MJ/T@?:O>2_0J>SU8]#DW22 '0ZJ>JMN MFUNN6+5=TL$;>?7OH]V+SL6['Z= 09?JG0U=SX[%"O?H] 'ET=50$$Z#XG?+ MJ1^)@G#:XBU!/'"']YM)0U ^/G8?^Y6G<2WM[MV%4I"N?@ARV#G=G,(WM%"O M(O?=K]W"?(+VY$/T'$[O)RMMB-HUTQ:[O"_9@ >[EGG*'$NU+8.KLS8Z4EW9 MYG/$&K;Z&LJG-RDFO<%.V:-[ZRL';:>CM"VUK.OKQGX8K??H"[9$]O=<1\=* MZJ59\&>ZX)NP*HUV76WM+G_=A160@@TI?7HG-!,2^^98YE&>Q0C_T_?.I1+C MM'";OSTZ/_VNY5TRX]]''RYSOK[\>,H%8KT87B:(D+'"*E+TOCT^._O.<;?K M8V:6:E"V_I1S7B]93$BVOP*?"KL%J, M\Z%3,C\ZZ\/H+!AP*Q6C3@\-GU9"G@@]AEE]0B)3F")/";1, M-XYW!B8MJ: M6M84>?=SHFDEG'^5E *A^$L[_EU$0;E 6L:_8F@5)@F4,XPF)>K@J!1G M;7N+Y#L:XV"SML!Z#LI2W%\ S31KC%>NQ:TV6B-.7"YZ_6C%X7D1/O5WD5"V\MC)"T4ZU[L5HM,.SD]U22D:L&XQ$-BJ(S6*D;453,N0"-MT 0>8 MN'6HOO!5SL2H_#G<>:QKC%WJ5]/2.W5L4TM#[DX]62NN'1__KQ'7QQ/73XJ MWZ\C@MI&CVL0)&D&']ZH*%<%0+-NL<4_LP(R)49T@5 /XT\82/M4%R#E238L M?TVEWO!@%=S 8W&I#5 WN2D<<;:>=>.'V%T'3M^T=3]"^J:Q.*L8))%O> MA*XLOT)Q;]/\CE$1 9@.DKYGZ)-YE)UIGMSZ'+K?MW=^^?/BW6^?ZORYC7#H M.GL[RWMT^VOTZ/9GN4'E35:&NUV?-S9S&(_NC;VLSO@2]NS+RLLUWECCC3T5 M;ZR0WL:)>4I-%>?3U4.[Q@NN]!O\-Q4BP]DU2F/X&:8MX.V<%%GXRTV*N2!54@C MAM1)G;\AO.3L_].FU7;R%7CA;(0"Y%_X3KQ$=)J MT9Z$A6HYELC-RM52DK%ZCK?F/E-+(3IW*H7HF-5MJAF::H9H^6J&.Q0R=*K- M68UZW13U>KZPN=K,L#/#Y5*R.=ZFP$A*8<6M]ZFI=M_<3:%A(ZRB I>)PZIT M7Z)DP:Y,,"46$2CX,>IXI3U'R(($0S$ :L#*&)H:=[ M0WB_$DIU,4X]NNPV1O^+JXM8]@<(OY'P'?T0_DAP&P[A%@RN[V>^[@G 29=Q M!I&GON!G.++]E[K4&B> KT J:AX?%U [TQ>DRQ223,60;;;JVK?J_=<0X9UE M9PJ4]ISJI]I.E$;1;Z+T(%)M!*9K,"95@FCY)LQ3Y5@K<:M5,8&7/ \6$S^B M)- ,B'G*,2ND'V#R 8%1=E@$VHVX;:2XS0137Z+EIJ9; _%%0N4GFF9Q]B([ MJ[L_!9]6CW9\EQ:*=?60-!*]D1)]87>CH39D#5DP_H)]&^9$10/JLF@29;5: M);8LS%>^%O-IS*/SS7[[T%AMV&&Z^P\\=K_9[;0/S.="Y=+B\7S3",U&"LW. M;OM0^SK.RG4.2PP['AYQU%5I'=,%*Z$6$#3OI4U8G][U=*AE0L85.8I.(PN^ MGX:G79FI1SJ9IV@?>N]/WK;*[=!+ OL[]H'A5K"Y'^<:"(U9NL$;Q%!06%)O M09@9(0=QWG(5+FK*5(6A=-:/4$7"FO$-ST_.O%Z>9O%(N=S!5DJ%FS.ZFCJ4 MH-J"!#N1S5.G1PI*E%((*Q?UMW+P?HOGUC-#%LVMC:71[(G::I]IQ(YL$D]O M*%_"$A8)L)O .>O1"_TT_?[%^#J*7]2G0%;(K9F[^M<*[OO#3FYPV2'%LS=:VVB/=XJZM H& &_/#6G]3Q6=CS2)X,/,+WAHD:?/_BOZ[. MCU_\<*7[T8[A6F0.^I]_^C],UII)6?4.<2 F2>@K"1B%OBD)F2;,/ M^P%BHJC$F.5DR 8OW+>G'R]GK5"SM1Y[A4I;J]E&F[A(WV$6&9$.BD-*U%]? M981_/I9S;':"^<4/8.U=^VQ/W?B]/!^1"4IY;3=P)*GO(FQEX!8=CW./[M>VD8WVY1W28,0I0D M:MD%->2T&H5YZ".-_*R%AW.N :?/0-L/<7P4Z>&MEHA4*SI1',INBRX,38IVFD8XTUO([5WVJV:M[\=2FN5^5EJ"G[I/ODA!2B-/ZRXJJ4H,* SZ7QNFO3,E MXF2OWDI[RG->+#TQ*\]" M;>G% RV [G>^XRH8A!D8(0D@B'($LHRB:A,R!)%35D-$C?6]W>,XI2!\_;<\ MNKIO$C56?E;_'1Z O>&(MF;=]W$2T)S7]IJ'P;CXYL4/)P,DN)376'H)MS,/P^2LAR73&#RP&:3U,BZQG'.@.K Q MV3Q7/Y(R;Z2+T?] ]\44\+60]G<,+A+]424W04_ICD(I^5.C<1A/E)+Z;WQ_ M#+.,J/*<[(K44?'23]$5[=Z2N SC8QE-WP)=!&Y77[,/PS,I($/+$W2#7P @D Z9(1EP> M)+I^4_%-Q%-;DQ50OVY]F,VV=UX4Q:5NBU/G@%N:]K?;G6DM32\/V[O5IAEL M%2BEK%'>81W3Q6XZOBB1%$?4JB'4 -4<6&,7!3^_M/G[ M]BLTXG5+>0\^ZA(,QP*'MAB&VE<-E_;XQ&R&'+&]NWVPG. M)F1+842MTUC$ M@_BSFB"2:08VJV+;*XQ[=%BBW1M$<.;%F4\FVB6\M0]Z!@R5-S'G2KCS@ZZ@ M.C.*KG?QY$USBIOCD7L=@[$620%!U.>DRU A3 \(U19HLIXF*H4[2RL*GKF% MM6C=N*_4"!-[*?:U@JE//;:W"@8N#2?P2L@'C$:&>2^P5_ -DCR*T ".0WY MF*Z,0T:8\BT1&H@,Y[9W.G!M!V-T!!E54,9I&M ,-%0&OW(GY!)VU65X4M9 MGM3++3%5;(W?*KIY5SE9C'289YS%Y"F86(,IVFS@HR#N(S@?MMJ E:_PP?A$ M< A GH;!($MUF5[-G?!)9%9K_MDH)]<)Y,+X#-**I,%R!8@)"Y8XEX+'1@N, MJTQ$B8G$E"PXSAD[+D+5J_N%R--"/8)M0V=HNDF.F.]'*%EQM*7'7 P'!1SA M?=D,'L7(0P8&8(Q(3ZHU1R1(A.@BA@CVDP0-TQ'9F#1@=CMJ? W+[^&7A5FH M,V[+XJ4+= O K$SA6>\GD_:2)N6+.C4W%01UNX(INO@)+!?78Z NK$YK[K($ M NKBHV4 5)= N#T-%+46S[(Y^I_^T7\W635 INL[G"\-V%0\4E:O)A;=864T MJ+C9%86H.<[^F%H?:-U2C@X3%4*.1C7.,&_M]7,Z4P5\CS[" X';0!-85[=&7HZ&H["/5__NM@I[/_.K7.:VD#Q7=%S3_&L];]W "M].2,?+,0LCAZ.Q?-A:I^Q496]%F:[#N O7@LC?*"Q[A$4.>E)7 M'S&'.M:31.73:XC;)I&3R^_B^8?]$U[]S) #7&(<$$;9?# 8$Q/_(:/&A T3 M:O#6IZ*YWM%IZ^% _VO;_C;DJYE#C)4&5?)_[(<:K@#OALZ^P!M6>YU*>@ M1J6IKB5ZF_[;1X\DOK71%ZK#E)=C7X(1;<7ET4? V,?-).K?NFT/E7@8BF_X MK%7NSEV\A)W&2VA4[NIBNK-^!T&'<5#W@=%,.'#D*U!&=X))@B0?L\U7*#^W M_$N .D0-&N>"=)I)#%,8IA*W0C2QJ9$2M!7%B@6S,LK0J&][OX!Q+H,#384% M]M80BP@?@9C?L/7.>5%CBD^]NN?66UN)/(QMS8BM:/@<-KU]A +/%/RN+^$Q M"BQ1UMD$B2BX%VT-N3@ ,XR6TR+!SP$\/!"B*!519#*7@%F&.U*:]JHK11"^ M]I$4FL7\Z_7I$/U4+2Y M/B71RP.@7K IV<_9,%9-;K/);7ZM2&\[#=+;RDAO]UNC4Q(^KK]E548?Q_"R_DV0@+=S M%/1;>F)P.YWH7NQ+5E<3[PBVZK=XV8OCHXN32_S[B^^H-ANU+87?0 .$_BW7 M:)H?P?8<85"$XV'9$,9E^ 1@)JA^.14$]) CA' ?,!_ >B&%.?8G20S;,_._ MB#*'Z_MJH!(=F9/X&7A=R*V2QCWT>5,]<+B>U'R+FGF+."2>"*!!DF2"YI*X MD*PN-2U5@%K7/%8&E99>$'Z=QAQQ'(/93W!)^#-3+GL)VR8L.FB.^N@R@J1Q M%?I'?](;*AC QR3.)-WW46*28&MCZ0;J+:D+O@YN:%)LISU(>ODHS73K*DXI MU3T4:+,\0=+T;A?.&WGPU\>+M4'^T@9 SEC[V,*A6+)3EJG,<(/@_F0" :4W M<42H+B1W1T8(:4/1[N,B\)I]*LQU: SYM'%0:NGX1R.IP(QC(>1L+#YQEL"J M%(V<(!T6072S3RH@-QRY@$=,L .CBV5JXT")Z106VEEZ#DH1$HMU;N)$0C#H MGP25B,P@B&"'X.SY@VNI2TD4C\0CVYRYJ$J\U5>^=A MECN(A@CU\E KOGX;:ODNN_KW7RSH^.('GXI Y228-4T4!F (6<^%33R5:KN+=(/1,/E87,_@AH,*YESI MJD@-@JQPDXOWF;%DE?#Z0S4&O;@/Y,T&FWA3PNSG;O6742& MVRL1R+BH^(_RD4JP3JW8YH&NGP[2SVD)ZI\_+'7BGF9J5,>6:@'G_-"Q_]:( MT::)T1$K6Y"-HRC*03D_#-+1H71M) 82=CM?/JW=EUT%TA"@A)4SLFD&T2I+GOO MVM=GXZE@(7'YSW8>GU6%;5.V"0BNEW MXRC8[V.X0%CA/GQ:; .-4+B7YPT?*VP"%.E@_:T5; R>">/]>>/_^Y]V_>OTEE,ZE\D) MK>64SD7RBYAKD?PBYEHDOXBY%LDO0JPELZH@J7T&675;+ PEVQ!)H*Z%<_BH M9W]'U78TZ9P8AR%=^,*'5J%CU;[?V1&,,=OQ[V<0GK(W+K:TW/=* M./:12DBYUMH]PE(K81,A*4]DEN;EG1<)V6!6T"2DR2GRL@I MBI8LR4F2TW[D-,X@I[BFD9)YKP\7/31.T9[BA^6?@#]&Z-?BZ@T[R?47/%/( MWYF3/#_HS@&>VNY'A7?@V$[(I7>CN;R[>\EDPO1/6QE.Q"UX5\GJ,U8\*;WB ML%0A0K+.35!'K4&WN\]&9&^!D(=>$=V?'*L7E?RGS/C9"@I7.TIJ+40+2J@L MYR%HNJW!:-*DC9>"30HV*=BD8-NQZ5VU->CMTJ"$VOB3$6P%W.L--%O)ZF=9 M39T98N-6LCMMR5Y.;' ML85D0X"3Z'V>*=U480,D_!!I8X^<@>]3/R)YRZ1+LVZ["U>(;F\(.&X\3GHR M9+'ENE1%=S_F2U^0%+(_A610A0@650Y"&75:JKHC("J)95]BR283(85'L?RW M4S@@J09(OI5J@*20"%[=22B!R2!PBL!"H>SG[0[2NC8^UUV M[*E'2X^]J\9)0AW31EI!?V+6$)H1#.ENP9IA _\@)^"GWD?ER_V##R 2:UV( MIPM=Q?!?_58_?FN=9]-^(MW!PNG#^#P-B&5"2\4U <^G#1M;_,6:;I.>RXI# M6LGA/4#?#)>\\?;Z2]#1F;8BS)@E@.UC$DWY :DI4Z"3QS-^@>VXT9WAC,'W ME*T7&HW!Z=QS;23/S&Y';X:CB^MH*T,AIO20<6$#,EIB4&4HYZSB'^1'+*QLHGO:2H*^-]"?U21T_X)-2 MB.;#S2-@# N+'^496:S5EH*IV-$NR4I))_D-^=1;.@AA83%W\%_6QC=DPNIO M-,N^#QX*WM*B;;FP9D9[A$%G>"9,R*J0 R!1T/Z&;0KIN[IK?^G:VDK6>0A\ M>Z?M?OQ<@'CP>5N$S/,-WPF8&#:T)UJT%4,EA,Y$#+E3?1%-Q047 M.? OIU[\+9:&F%[?\/7Z@DQW:S^=HPF4_$J+[&XB0"_ZPQ+,SJJF#//!V%6- M'M+6V?)\93WE.ZJ^CU.^"92ZE"_5 57S>EB[W_);PTKYDE@ .X1(9">HULB> M[77;HQW/%Y\0-SNB9DVOK1;>%Y7M"Y]EX6DP%7G2'I;X_3C?AK;#OT[3NXG\ MI5TX62O<5^C#O=(P0[U%%7'9RDED8<>L=B8\=O3EDL#(#W[D-B>[X9DH[X'P_IF_]\K\1 M-]X*K4!Y7F$;CS00]U4*-M6H/OVP17Q(BA.1X@K*#7;J,?5';?>5=&6'JQG, MU3=N3Y2MFDDY2S; @??]Q5%?[OX7?US##D.Z]G MUWTE,N3OZ%*_!#@._E?9)3RH3P5OR[MAO*$>N/[G]FJM.;1),5:Q$^WXR)LP M\:D)%W'JE2>BZ2:EHI!2,=7R#U$1C3YF-U3+%^ MMNR+)%2-OW%11/M=!.>/JCTC/.Y/W<"KN#7>NG3X+Y>V8_R)A]7,SWC;[C&' MOR#](B8\:&#Y,D[006 _\57BT62)(OL*:N&7#CV$\'(^8!'[-;13S^CR"3ZZ M?$*8KO .:.:K]I;B?XOL(^FPBE^A*4L'+7Z\^,OC[=7%3X_DI+%XN[*A<3I$ M)K2?>!"Z@EBTE"Q2LLC[25)17BH*!=,@?!<.@DL/3D//5'IP3N$4 P.9IJ.0 MZ##8*J&\%&!9L&V09W@&9F%-?]%(J!GX=H$<:B="S#DO3;#P/ _%4ZLSFN^! M#_Z-6E26@5]$=HTDN?@),-ATPY/#EMOT=A:)$4DJ$XW*4D@ ']T*(2]\'^ W M0PR&1,5#F1K9@4$',G LH.2]!I;Y%/J?^1*LJYD"@$"UE>1B!K M% V;8+ZT"H@K5& M#FRL9LUCTKJ,E%[BFT S3?L5+W5#$OP@!1Q6B0E"HYS*\LPY$Y(L(K8NDN&D M?+[^F,W'=-]#7KEB,Z0I?SG>HZW7IC%G>3B^+Z\?S^=,^/*Z[6ZZ+Z_7'[=@ MHGZJY\_X?B1;X/K4I+]9F)_G-"_M"NM2LXIDLV$>6:^M,@ZR''C M9XVYL08:5"S;ZS5]7@ M_PJ>H#RK\%DE6&7&+@I\P6!E@>7EDL@>O/S MN_)_R>VW,XCWHID;/)KFP=7O7^SM;7Z*4@H'H'KWJ%*4>G)3?86&26,M@9&Y/88_0# M;>/A,P&;&BK1YE%K Q-%1+83(QQL%DZ.>,/0FA&7X82FPIQ)I&0(DRFMG$/* MFX%,G=IEW-6$*= TO#=&>(^O-K?4\.:9^O_[R[BKCO[FLMH=$^N1R/72EV[9 MKPI8>LCPH+8.[J@NW%'#3D=JAT**,GRZ_7&72QN2ZI1;J6@K4Y>4*((;*.F. ML2$(;V!R9CX!>PVOW5B8U'P-)LA$VJG!8+H/%S/1(B+?'4"8S/<)4,$;L?BQ MU/4,FA0?-M)WI5A))?EH2G)^A_6Q4 *D22P4!4F3N#EGE625+HIQCF>877\# MWHA4258# ^)P!0UA++&(!X] XF&1$99:(-=LC[V"#!=+RX,1KNP70[_$(@-3E0ZW.TFH M6^)[6,.SQV^W$#YTR ##J\5W/6"<17*H?FT_M+&FLD16Y.7P%5HL4.P7UQN\ M6D1V:>H:6CSU*N4:JL1O,([X*05 J8IRQQ,^5SSPE>UZ0 .^ZP"VZ6?'QDK< M%S*#&CTKPNU0L!TI%Q[8]H-0'3:^7E7F0.A%J^+9;1[!-N4@0^&?,]347B_; M/= ;IM1&*Y]""&WPZ3PYZWCM B*X;P;>,R- ]:$)EPZ6KFN;)I@O8B-S)P2# M7F.]_])W!W:#O9BI]?$-X ^H$RP5. J!N=&I.I%8!;$Z^(P0%JO>DMHK,!GB MV&(L3L90'.U5@5 IOAA,K&CHA@.2P-2>\%;#5,!L &)[0YG"5H_O!"O2=YN M0MYN3")AZO^FX .U29#.,9XV7B#MYWB5SRB5!_(4-IR>2-L9=*(,_$P$/'U; MFM;/V1Y*GOJ#[P*9UN]_%S4Y@@^HV]*A/[*BX)+TG.#!(&LZ[QS\=R?N>R+9 M,'-+P @I;DXLGSI%-;G=^$5;1$4'51Y?Y?A2GT?*)EI8K<:J_7QC:H#FRE1F M9.++T+$M4G;ANFCUA+\#!H;J,%X+EDC9(-E*D,WF&,B:(YTG2F#VA1()%],2 MJ-K U&%VIF#!9$Z6"U]WI%R'Y)-1PN%HAE0Y,X(0+3Q;Y\=;14&_R4UEU%\9+XM MD(1K>68P2W0^ K%DW)&CN/)$N^C.@L= M ^ZI%K^4PL6Y] MZ?VHOMD/ D2(W.-QU%KW^V"+]SA>!9^\V!=H_6J(9ZCP0 M\2\^(1A)1V D +X!1/9@-J SF.@;\YWPLO=\Y:NYRMW9U4XT#GKJ=-EX=@O# M\U?/%!87Q2IDD47V[PEQ3RK;IN!7_C*)XY0WSZ#N5*C56=LN"BE=;>47^Q5; M.@YUC4:,HI ]Q%)BI?026'H%N=$A.;8U6Y\$H)\@ /_*22FL'*;8R2&2"/GP M(J8V.+4H0S%?&.9V2R>-/H@ I04%I*D-!8O0&;4;+B=>HKX#F^)=^TI45BNN M*[L0IT?/ $3"T[4E<0I)G.DE\%)U/?2113%?F(C KYDO%7=I;TR=)]?$+N(X M<]*5T&N1<'^D4LPO%!,R)SXMM5>2H(A2([-SRND I_8E<&HC@5.E$&F\$*DC MZ%9;BL3MFMBV^,*]_@8.;>2>< QA;GNL1FL.5A-H4;Y"S)MFF?[_?W_TU;K MOWU\3WP+EE^B\&X2Q<=7^]^E92>TX,%(NJ(Z3'G03VX<1_,A4T?EQ1-A/%4V MRV"2*8U&I0 14H P)XL?23*8(4JU8C@#H S?,^6?]&IMVF\(13HALK&>;&OC M0E6$L]',1 M9L&/](-+"L#1K#A9T*)P4[Z?E(FH:Q\IT5O@SXB!]Z_0ZI/0J<>BR#CB-.* ]XJ=H:7&T_0QZ,!8S\_[G*?^PGE^3- M0SXPBX.!U?\*G@:ZX_B@YAL7,GFT)_Q3S&>.!GDX]%NR:)*F09T9(>]$(MTO M+XLRS%6*G ''Q-MQ[D<2]'OV(@>9&G.*AD4;\WFF.#>C[4A9QYU03U)VXN"K MP7P&)T\W)$9W,%E_3KZ?A25(\$GK",: ";65*^84BFR5;K#89R2[:V'C@X)H MI.47MNMIJX/#7MA8GN(/9.]M@<5@D@PK09661WBX(\0B@L-H; N-6'J(93FK M@W0 9LZH["QT7I2JHK<'L.PD.I]%AD0BRRYT&-U4YV!UO\ M"[RL 3[UYQK,-#N=.>I]2&NRG*RYV/V^%(\&M3H"R\BCUAI)AG0T'4'0Z35A M_Z;::ZW$8) M@5R7EDLO$,NDT)1W(VI_\DA6&;,SS83*-/IV&_AL.W(8]@FK MM,S!PK;YAIB#%B;-N8'7TTV,GFZVO69@*HHU*^,$EC.78N7-3E)F21H,'7AF$#E(I"<\7A)K+[5HG7&26?@@YTOB/*?+*%002"P(;\ES%$0F4ZKX^AV2,H)QTU-$U6,;DE2-1O0MEC^>+*@] G1 M)#:L?^$G:3X+:&;\#3!AR&W;TSU&UA,LG+G"6%8/GB?F"_3?#44Z3&@&S:: MW41]G'A%:@AG!A%B ":=X3-9T9* 6RA3/N%(SLYC]S?%"#:%UFZSBDJ0V^P1 MO 46]2@:U@O^@,(1D?1)#1B-WA4NO2)=&XMUN/5(E09$H#$QLJRV^1MM)J-1 M#)96Z+8D+Z/]K=[X[8"9*OQX8G"X5=S-DVOH!AXD5"%.B]3_B0?0;:Q2^'S= M4JZ6>&@RX4?->-4L(AQ\G&9]ZWS9:O&M_ZX[ DW'[V^3!/#8.@[;*QA(I2/Y ME;%-X:FH !!UEG=8XS- 02%Z*V/_1^U;4X*X<0NZ+F' >,"AM=ADESSMFZ^% M J$.U6Y J'%JS_A-;SP,$W>^ENLTL3QE1&[F!'HU'H8B/A"TB. 7O).4ML:W M]3<#4F&QA%$[W[58RAWHR#Q*QM4 6J0>3J9%WRA"-AXQBGSEZ\NN9\^_$FQN M3&+H&Q9@ALL47)"3)'D6; 1LVQKD#?0' '3L\AY__E=+O)LL0!5$\*(O!N@+ M;''IQ'3F#F*8']:)=#XF%SVASXF4HT$Z&!1"<]I7670FJ$?*[WS%P=8_L1/] MB!S2^ /?W9KU;,!1,IFF^ZG9&13@;FWL:Y6$'/X-QLENWUOFM)(A622.FY!^*4H_;$Y.G/ MM(5?B&(_VZ^7< 7KC';E^1XR"YT>V_>,7W^>?7ZO%8T"K(H/00L*N&57C=(,WJ+2B%?D+>*T*LHDS[1I-'J5QF""]$24?X M\)F_CUS@/T^G=^RY5LHM'K,5J&W"[GP21@(4R1PVAC)-65D(I=)OV>MR.)6( MS4Y+MOVVB20"D;X->)@7P]ZX=$PLU2@V'2G+M2W7-@V=>!^#Z!59 O6'8LLJ M9(K!#M(28-\<8O7?+@.SVKEN_$Y:&$C+T,%L(AY(+[3*T$F16G^ZN.P3P+_: M>(9)?)W)DZ6A$G!.DL3;%/4+:X;XQ]J3 6W!4KYG=WHJ(1(D'CAO5G2LI:J6 M3QK+7B45\1N\X_ IQ&X-#A7(DFV 0XK"/^$ L/6F9[B=30]EB/?*/T,)3 M.$E9Q).:X3F5EZ"81WOD2_ A=/G]9Z,_DP1WPPW #;"XX/T623B)5!.$1)B2 M+;!HU@65ACQQ'HM7$B-+$5Q4N/HO)K Q.NW(L;+!$4Q^N-+@\%V*]V$1.@*T M5Q(GGK\QZ)(7P-]_H[;26P0M;+Y9D0:1+X@%D5K$V8=-+H_$D]C%0/%,V!+I MN_0-2Q\'Y%1\:6T(&FKD>H!4#,/6P8;?."'@-QIL8Q<*C_7%;Q;+!H?YVB#0 M:AN+N!6)Q(>+S]0LLOV:B1=OD?G'H5?STTF\7;)F:>;;G_QT_=LE[8@(K-W" M<%S//Q^6GK,T7 H/NPCO<7 ]4P7*S;K2":PL1;/#1\'Z8;YAJ4R$#RV\.V=AWHKH.(8'2_HO#>/-DLSFKAQ9 F M(8P"K&?ZMV"2]L8S;?LKUM86'G+\0>CK\!W]HADF45<0W.2PE._)Z'@#"70A MZ]=!W8CO^4080C#)V6!Q6D[&J4Q(X*,V3Z &0-X%X!R:)N=RHK02W$/?OT#5 MC31]A2*9>@%+XQE\Q#N_>L*KZZDMZD_'KXM]"/C&(#G2E!L_RL8UN4QE*>U= M,",*G$@1I;NTV52+91)6E''.H2I@)W>ZZ1@HHL,"";9#A0#2ZX!D/;I-?CKP M!P,)?W!L^(.C4W,=G1)WZH/592PL##,:]6?>B6@2$.]4 2%YK*!CXYZY'<*! MTLB%3!,0N-!+>0$(1GJW:^2FPR)_2)0_UX/D/WS[_(@FP@ C) MNX+$:8YP_H"<%V..?-0MRV8MN<(#!5,V[7ET5J%WA*>VQFMU&$[VD%Y(,\N$ M$?B+IQL/F)HJFL&%"-TX#+ADB:=#PP>S\<#/2YSX!KO%7@Q\9.Q2A;SXY#:1 M]3"W# $;3K83PP-3#]."0AS1J !)H(1[EWBWM(A_*^@($M./B I!,_>YI@:S M6[.:R;J:6!V96VO-G?IL8+5'!_( HKEB?=:@^'GC8$5KFW>E.GDB&!@&" 82 MWJ*MY_ ?0#?$BAYQ $:[A73CK3TAS?D*?N/[LO!C@86AT9Z/!DD,+%R0+8-< MAPMRO0M7%@$EX .=8[.3972JH8,GX<\5["0_68;\255(-.=?,-@(!S$@2#^( MCBW,^5)SM_V6($4""4$_V6YT9N%?+PS(N@AY8]?:&W=LL#Z*Q"\,4MK'D@P- MWA[)X*O(=,E/GIU26[GC=$D[0F4>ZP M*A&BC<&X2RW13#I^-^RPSL@+*CF)O8CUDQ5D(OH9E>!J6N(+B+ASP&-!2939 M]21%DCZ#3#T,W[%/)B95^++E>M"$R*_38DET?A0^_OQ9-F M4N^%8:7_D*6%$I :XD=DMS ?H:U,Y^!9P.LTWXCKY F9!GI!K,O3ZLF #'[_ M/?S%=-YI,V67%&_*AK?:8+$FG0$B<_TO<.R8OLI #C^Z- UKM5C+O2HQE^C% MVF_W?!E'.FAU0@)7(^,E7">\HU9W&/IQZK/A''PA= [A,NVK!-R3DK["Y*O; M-%W25S9!:Y')\;NMK=P$W\$@&LFV)S^5U"$R=;!^)3R/UJ^F M#G3M?GM84P9 5'J3O B"I\FL'0>4JM\LQ]SN>\:=&0Z[^:8?2P4@&/CO] M%A4/?B&C;F^>O,7&SWN"?J>A&"*8"_Z0M&:5:+\[:G&)=75)XZ$IF!&L.F!C MT?P)Q-( F"_6-P(N\5LNP2@B)A0V!9@>_]:NOI^XI-<*Z?4JZ*8:@!U4I8E%Z+@)1PZ@QA.5BV1V W(163Q];>J4'_Y%:\ (7 CJ 0 M9"?]02_BY8K_AG:)PG2.C?P5="/G3@12NMTG%=?8$BVPX(V;LMCH6\&LMSS; M8?8_OHV[H56E;PR>&.P"%>>QK6"@.N'?Q<5#>(;PZ]&H2Y-!CEYV20^7!/Q\*7?OY)A37)(0E[][+VMC3E)C:$)Y$O; MH0D[? QE_C:'(8@7Q^6CT5J=C%Y<,2Q+Y@ADH$QLL@L\@K>,]2I):^V;]3#/ MK-DJ()+(6GN#/BO33(E"4U_6X5,*30[?^Q"99("_^#ZD"+Q^;)92*UT>:7!M MF\D5A@5+"-R)Y'*AF(L_T@6=[WM:BY@.<;TBY(4BLWJP/MI]C4Q[*SY>$IDJ M+MO"4R:3,5;<&1N::["*%LTVI-!3N]=6"4W=;I&K"49<1*99!(R"#1#B=AMZW*()_(YU?821A&7I$G*_#)UN87 M'(WZU"PXH$]04D;E6!O;?(+8V)1=R<4_2$%\@@Q_;G^G8"N25QOS.0:H@,5\ M+?F<2WCSUIH1LOL" $,V+G'"]"8@^B17B,P5E;OB\CL>NYF.Q[@[KT\IJ8@K M;[#%_Y=T:HX'%"RON-NOUQG3^_TNDRP!>B;YH\MHMA@B0LY@AQ.;RX[S:$ M@E4^4O#+D$-RA_LPRT/)ZB%";^*%C4D/9=+GF71$0M:@@X9A"'F;0V$\)>OJ!H)+5& *?6M"=9WH[XW$H6J;O7S8@ M?\.M>\)7'H]3)!S]T6@%%_-OB5 %@PE.#V<$S04H[$#XTL$W.^T;8+F;%<6J MR+J=@I@5?FB!2"N1]/=MB8MD7G.I#X_)'D7UU,0>I708X7&V5CS0%JHV(26# M)"R'&$""@^_ZH!U/J/$(*^FG@1K)@D*RX('C9VG_J:LY5C0)7\!ZT9G%ZUM" M\1RB[;_KA=)D@MA &NS*)>P+/VKVD4/703Z[($G&H:N0[OJ[2#.NX V$62-/ MA@Q\(N*@K1&7JJP6)KOT):6W4$@&9Q7@>$O;C521T$U1LZ;<9>T<2#NP?JB. M+KXP*&SF8XURC!5R!(2>"H(S]$^D2U?,9D@4[&55Z85*O8@K@?C[J>7CP]YQ M$&Y_#TF2'G[FK0H"6 M)MQ3!/J!U'AI); 3+SJD %M!->*N"LM8,PF?_R&_)T1GK,(R3I*T>Z$D0B&) ML#]00]&'Y$7R>* "5R;4XA6X$1(:CI+?P1QGEO*/C:^< \%^L %:#"HG#7RY M8),(D#L(E,B?)$J#]8Z@/)[2O8,"LF;]TZBCCX%%01;Y/S9X^WJ=%D-*N+'] MW4"1$73&.P0RA(_&E^)GUL&JR>#$*&DK#[%YN&FC,+5ID"+\XPK-@>[(TP&< M&DK J6,#3IUP1?(T!2Z/E,'KAJX$8$+6&Q6I<"TOC365M%@21,"=H6$C-2(B M$$/XVK&00WZ&C8X-%EZ:&WIV@8\+&MRPB+L-WV)9#,@!CI]8C&!,\$HQGPU@ M1_ICD-!"Z.\$#0K+F7C.W7<&2@NN-[@:TRI M*V+TX9,SYA3QZQ5_M;0A N@[1J #<-#3D%ZE+G)>$(-[)S8Q)(!@,]NF.>>\ MZ:Y)[,G5D_G&P"@\],R08?WA^33S9OO3H%BP3-U&%#H3:$J#@#00CT$:^X*+HODL-!'[@&2=-JKU Q2:^;-U@3:[3T4+: M 'ICCS7@!61 !LG^QS372G_2HT0CO5](]=D9;#E\QQCEI)D*-L]!V294H,HT[ARG-Y M;%47/E<%T8@Y4G8RU,K!?2 MRCD_'[WEMSW7=/PN@O)IXU]9%%P]^)U%?69,;05SR46(S(.^(ISV0I&K?*4T M>/0*Y[<^QA*[CVKS=I^QT2KWTDG M5'))N]1NI-Q3P'JLUU'W&.N-0 MVQ1*(PH M5&Y*N=U-2@K#)Y8EP[H'[2D*N4O;M'*8AQ"B[CFRW,5/7VPWU+B0-5&PP:S" MBB6D]+%P) YHV>;HBB#5'NQC3EKB4&2-C&U$'!]W39-S:&'@]^] 9H 65O$ M_HK8@RR!&"83 NG+R!:!>>*;SR8(TM1F"08*3PUKNS9E!MX%@% >62RF"=>V M+$SU $Z=&"9XD!JU;O@QJCV#/)LV\.*()L,"&-*,@?A0'C.X0BW+&@Q_YN\W9%>X\O$K^ MC&_4DS.VP7U'#!!64^U&TF_# YY7W#7UVKH"%02 S:=!)Z\[V\0*"+/VKO'6 M OUFW%I-MHAV74V@M.N&B^G(#0!/-//--1BJ+W=1PAU@^-(B%0<=>B-1NW2S MMG,VMN,.)L+]3] ED-3>,!>'1G!'-;]-$+0$I/X@^I0/%>H1Y^;N-GK,_H6@ M50 /RT^?K(PW>F+=1QC3TPN4->VC591D\31]HA5.2FH%]SN,Q]/;6FS?:,P- MMMRT72*+*3H#)DKB54JM2VDKM[#OH'T_VT"^>)L-ZI) M!,,8EO@+R:L[ 8K M#,7\N*L@U/>FA<>%=C5/Y%R(-Q=\6X%JW JY$OP.-/"AWX";;P@5?T'O7:H? M4#=69)YP^=/^2(1%0XVAB/_#\@O _/*KS8JY]5A[&%_MH$$X#5\71.D/?'!S MPYEO5M"UA[1IHH?I$S E0+#&R#=D:XD5@:D#=B^@"&P.;"@MD$Y(\"7L @J1 M0J*BB%(1:;T W7XT'10\;0TD;GDIH+L4+YA9)7R6*XVWDO13 B)[2)?*FTUZ MD5VRG8!WF3-U*\6'-I0P)2QW!8I)5%GSN2&E44*VA("-@.IB&YH6N3_D:)Q0 MR44U%O.>8OX*DG4U3[^[>#^-^X!+Z[S1!]D;5=GXJ9'*XK&1>+ UV"L#3'C- M):&QB)^4=PVCUP8)E2T,=M/XW@#FH/!5JW9*/@^>V-HCKAO\M*7;K["DORE! M8-NP,B,Z$9J?1KJO!9(6UJ"!#K00?A.,P(%; 5Z_P2G@V<6*B@(UUP4&WB)"L; M.4< (V(MQPPYZ3 ]D.:D7"-C07Z-::28'+$I">3(U3VLJ%$V):^GB\"KV;4& MHHN&Y0E ^;\8.F@Q$=N6<2QF=JK (UCU(BJJP*!F#;9#6=E)K@>I 2K&*]D6 M(K>I+N7P1D*!^N6K7GY#@30!F?$BTG\K-%_PY^.K@_J6 Q6.R6O?6Q?*AZCU M%GE,W&UP?9C<$\+[K_,59-(A03ZPN7.'[H_A^.HBZ:ENZ9>DV0(>C3@HJ%NC MUN7-*'EDOAQ6"]JU3E(&3;!8X.#@= A9;ES>J0)KL6MSXS*%#M1PQX;VJ=!- MC2URRQJ5*^+9"=E0/F7K6&-^(3U-*:WY=QZC!%I2[(O[R+T8OCXY[3%NY&DX MO"(9R,DO55!A!CW:D:U.>5ZKO T<):>3C3B2V8A59R-6IES49GQLR7H1?_+@ M:]8PH/D_$O(C,F82Y96Z M7WEP, S9"[J??P#@5&+^T) 2-(=,*4($' HV3!<\GS/TV!R3%$1^6-3/#3?X M#GIU:<3!IID$J_T3#=&[@:[%<@I3[T>Z''S!DU ,]_BFS%ALHZ:V*M):)<,^ MO!M(!9]E0T6-A/.ZN1AVCPJDQI0>'3]?*'?E4=?O]435]/"!RJ,2ZJAZ[*"R MV:R":D5BG% '1BL&D10M"?!ONMOK+ZS'+TGM@B)^TH&:!E'H$O!=6'B?YS3#B\R/7%>TY"U\R83GT/(O22,JN:BP6H;S))A!!@ < M?X.O'*+T9MU2@;3;>(9I_$G=BWB^ZXT'+INE'?)&L_@.317 2]HX3F LILX MU@:!S2"/!^QSD;YB/H?53=P'8ZX44&S(U8X%_NDY)3J!DCGY261XZ[C6&OQ,Y0EE26FY=#QL00L M+$Z8 X_O+MO5FH@H-HLD?;#74P(A3=_)3Z(UAY](P!.RCF@M$8U=QYR#X73X M70NPB1,1_(]XSR^):&*N[9>0.IS0AAF9^>J=:X#K4;,0Q:1CB ,,L8""V]!? M,(=A2+_&[\$6:YWALCSNZNH2; X9=YQ"@)80 OB?/G+\UPB6WR.)-=P EM_N M6H+Q(6*KT3BO2!4H) '/8 5+?&^I0MOF5CBQU>?U:/DDX7 \=<,#'N3YL?-3YH>+[26=O@PB MCP&9@:G_%! # X/??K")30/\R7>]#D6*2*L6H,9:KYOU1)[NQV3"%?>49Q7?P3B<\Z2JE-"*XR9B;J2JLY ,-2 -D-0./V,E0F" M)P=:D0L:%A_ROQOBV.)0#ZR$D.KMT4P\@@4$(<25;1D@%ED. LOBXT*9#TA\ M>MB8MFEH<"LOX[Z03# MN7&D!#K(@@0X8Y=&V>T89?@;Q_/UWECTCEV9]*K9F!!!]6>1)CM#)$6$Y)C" M>6\1DJ/).( 0DI)R3Z"ZW')SYF>O_@ZJ"-9K7X-2I=UOB(VVO4KE3(\J73P3 MS0\+I=< TOHMIN;:3ZYM(G>.6*#!U "2:.&7$U(&A0) D[,R3WB=(S_'P8_S M1U!5>6I'\#8Z*DW?#2>MAS-G:;HO*T]D3>N" L=(5NWO1!!@2Y6T3-Q$\Y0= M]*PY1/SG&"LP[XES0X%B+9V7DX 7()9\%@Q.54/VBDBA=TC,)M\'(@]2POR6 M/RQB0R$.?=\!\>X:"Q\"EK[FE4#;PL4+:JSATDSV#8H )\(;&8048#7$*EXB M.FMP9-16 (I)45^O*2HNR1 G9.-%,.>I8LVT>DIU^)I[-QKLTETEU)F07NQA M/]QH15Z:=9L7O_'2#N#56:BX _/(9]MZOOQ,0#^GI.)A*W29W/K0)1@NU8E5 MD,!&0P(W"8=HED5QDO !A&BP.&2+,RY M1NJ X4(,7 FDGI 67X*-0EVH45=#),LQI<0'X@F*22@A5/O"L^/\U4 ^! *7 M+QA8%!.T'5>,\Q MGI])IF=XJ6 AX!.D.@(M@/$'(LD<+,K!NV70XPD6&!J*[B7\L:6$4WEIO0N( M1C_7#6_OCQ?>OQ?>OW_Y^?_^3U4_W*I7G91_+N))<2P@!TXG?"5@ N-_XG3+ MPGZ' MZKA*H:Q._U>)<#Q-OMLYWVU3##(VPIE\._;!L]?108M*G+PYB"7W:]SM#@MN MU=Y+JFSZ#R'P ))7=1E.3PJ'OOR@:,C_3./2+!;&--@ N8M5K+6SB2DKDY-E M*T:Y^O_N>KW'_[L9_RZY6G*UY.J\7!T#/%E!'WJ'VXP,%(5&8+B7CC5D=%B1 M #@.GP.80:(H 'P0M/:#RJ=JV/L?#__H3O_WC]D_T[A;LK=D;\G>J>QMH6=Z M16-5?X.9]0T8%ZOS@!(S9\ZNBECTY\F'_L/__>O^5M[ DD4EB^9F41W-B0N. MEZZ1$CN>NV"O5E!;0.#_X8K5%!>SL68 6AZM4FOYWG9X!?\A]SOS'C/4O116 MV'EO^2?;_DI-_O:^$N"^_\OL^E.WHSY("2 E@)0 VZ;_B=1L1UR]X."[##OX M6GZE=M0U!TT*DSQ67J_QD9&K<\N<1-%D7!;= M3,?CP=7DET_]-%GTE!!&^]6^4EGQXP7\O/)"V&B]:V9=[$_=<;Y"6+:-2^=8 M%:\5U;=60X.YJF39MNYLW7'N01=PW[\&2:ZA#,YD_"60?BRX<;D[N)$>E @G M%-#N78;KT;P&2# EZ0TD@,-]&0 SG!FK(1FV#-"(!- #^,=0Z"&H"@CY.--$ M,2\C '_(,P40HKFL#@V\1"' 2#WG"K_!W9#O_;I32+6EA12LOR)-;77(7[FS M!3KB(I,V-23U#(CE+1-@N%3X!=JCTW"X"OB8\CP!1_+QYS OSI>6\5\?"H>& M?%Z#=(\$Q+3+5A]DZ0*[XZ])S0Q].)1!&/R,8.X$F^I#9*P!:]KB^210"**9 M7"H$IO6HZP!;6BSHLF(\Q"**-__ M=&V;G.V*5-0\048@4]LIH!,TJW)T I;ZQIUKCE_6$\EFH27#81Q?#B%'\2.W M8]>1L1"!J@JVF$$J^@'\FCNN"I6]FME>"/"2?4D#K3?5H-Z=P@1"'CO9=8;8 MZ==C936?H OG858&CP.4$T0S*98*E2R0:_.+_0KAVQ;'\YR;&Y=6F$%(E;IK MHUE!1$V,)T%%DJE\AT^0AQ04%.$+^Y6B4V-V7QA^ZA=]55N9DD9+?I)\( +Q M \XS8A.C/9F"Y-$H>F$AT,+(XF2.234Y)C,JTPFTFMS30EV9'](DK^$&BK!U15?#'IO;J$SQ'7OW/!E_V6&+XW.!?L)1)$+G@"<.%.XK! ME4BZ1H&?:&/Q,E1X"V58&"";.DQ($6+-G-[8T)9]]'.(EO<8B<,69(T MI0AJ)*G*!#'Q%53"4JC&M(T"U0,K"X&3CU *^J;YM5$ U4C;"Z 7H$C\C*/G&BN-K^;1) M<-E7T)..PM>F+(S@?&D.36RE[W !ZT[WNX1QC'T&NP> O@RK,D!?B2V6#,:V MB/<'Y5H^P%!O/*+TD[9WK-4!OJ0OP\LE$)?AS6(ZN08%(.C%\.M@_9);("LW M3A3NYLGUL\-\^R>51* FFQ6'PY:YV7L64"*>Y1,BE>.<,@!4WXR=,JDT >7D M3]\]S( .B:*H_V?CLO97\"0IL8.^AS11C%55@ WA([\$S1&I/DRJK?FN;70C M" 1']Y_MO1O;?)X>1J%PX.X'$N+6 E$G:,(:*2\D)21)$2K+ '+JN2ZQ+C@[ M<%P#4IH%R(0\ORX'9GPHU3%\[X7MR##X.#&4P'!DK\YQH3VRUKUDBCX*)AO= M;R#$S"UR0D0NNVH&K!)35:D9+> ,/;@RO"S\4D M,)^+2--0?T-HP 48CW?19&9;^$T!>>M^'U'\DW343Y)S1?F>)/ON< '>POWV"_R*]]#^^W5"?M@OP3IY0A'B5&'+E> ML$_.-M%JW4AT-(5[P!_%& Q$3"JKARN4\&]95C414HRS8$0'80IA+4M)"Q]H M><&>:_GM<>!)5O)._)@@&?!UR>J$B& @L=0@N1% !&+/X@L[934AC#DLE:E; MR^57(CSEXVQ0S9 !^ZXSLX]933C.79_SU4QL+D M$Y;UX*:C-TC*]\R_ER6Z*78X[" )R0>NT:!.-0*$_[PQ:%<5OZ28P##0VRPX MA0"!W->6MY=[1'QT @M(@:4A%X$]\L]6Z5C$";H3I49>A$<_>G$OPJ(>)^H0 M"(DT)5N L8)ZOW*&MN1!!&8T19"YT1I]'B>!,M(5%"11?%*LI'OD0R(9->J5 M9N52\S<&7_ "KH\W7I;*Q1^I^M^04EX(Q%#TG580(")ML>A%$?%/TW?YZ&J^ MT4G;-H>N"X[FW6+=VOV&1\2KP"X8FG^1O+O "B>F+6SSQO+!&,A%:#*\L1# MFB^ORQ%+A IF%C/F^1'[5T[:.;%.]>"E"2'"PI)I109%MP@V.E&(D77/!P!B M:WP>Q">!* IZW,Z#7^VT]5KQ@$"HH(0T 2$AEO]NL @A%+7C5'>T\&(N"3J:GX9#_A9,TMYXIFU_Q2K< MR(?!#Z.C/4Y #!]0Y+ M^9Z,3ETS+S2_A^?BON<389U)B(LHYI)*Y4322F7S!+H!>.W K4,C5; (HKW" M:X)FC50'25-B7EF+T ![(ZU&&Y#($C6_1'RD:3R^X/" M!Y@V-"QX_D:X"[^/LMVME>O,1/OC,__YQ]G#U^?;AU_OK M!V7ZX?;71^7+]/Z?UX_*_>SAGW&2">#XF]@*\^*G&RQ0B(DW!U%X*$RLL)Z] M)3/PY/+]RD4,G%B$G3/Z\1Y M?OH>JP?P_^_WNE.^_/O#^(_)/W^?J#]_SBA<(,*^%'(W3\EM*Y]F-].;J]GT ML_* +X?K+][N,_G[]/X/Y>/T<5K555!Y+D3J.1;3?\2:^]7M MS].N/RH?I9WQ"U\K#+]?7CP]L69&@ACCAEO35_/'A^O[V[G%V]:!< MW=[?W=YC+>3V)L'L?I)\_Q_C3[_^_FGP2]4%.]_\ZAEZP?+M&'4G\!U[FK%* MU 3Q[B40]Q MJ[C9$HF-2J*(1PJOLST:K#V%)+0$WJ8]Q=6.R=1'0>D;^_V,0 -O7,V"$";4 MG\&2EQ"5-2P2.0/GR/LZQ=_1MB0G4]5-%C[G;=L( 9F2!-9JE*B2+II*%^JD M$B&M#Q<]-*Y67=SQGAJ=X^F;-7UXN'Y\.+1X/<<1-7YXD8:%)^!0<&7R55X!\01(BX0^0F_6BF20K MOY'.C0,QZ$'6\*X^^:)NF7^=@N/OQKG M7BB6ML*OV;B7SYJV_@%(=&KI\)_K@#ZGWA7#]X%>%NA"V5@&'>C7AX\TS/ZH M/8]'PPO2OV:EF>Z/%Y>]"^C9"XO ?Z*F[(\7QC?O!VNSTFV//7GQT[C5FTS^ M_M?H='^J7^(UGC-J]7I)[A:9NW\,$Y)6B^<4@5M+2Q3]- *:5G!!3RX!/(%2T9RA! O7+R9]Q2N^H1E(M3 MIDCI$1"9X=+O_N(,-^ZK)3FN.QE(CMNI#? ,D=(TVXE=^5FKS,C K&SM4][B MGH(7 (VU: _4:%]GW=X\>8N-7PA/:C_?E;H^_([MGVSG(QN63^/>G\4.^AZ- M2M%WK]--4O>6)JAEN+6:]77+K:^;:WWI,:9*B+FI7JM.[!(1_:;(X*T$G=T@ M;Q>I=4J1FMIOC7J5WQ4=L9+K(* MG6>_G!-JD&(3'. \I2UP2P#Q?'0["GDEC8)S5%C2I3DAD"FABUVLWR\77YE( MG47:!>?#9NF7;'XV&Y;T3;8!+W0QQ$FNVKD M ZZ.ZKH&>/\S F2YI$XY=_^@UU+3XLN'.,RFYUV>5DZUY- ]XG.Y.+1<>D1_ MU,*4+CFT\ERHNMP'\30I016LJC)G3GEY6RORD^9,=D5^4Q9\@I9I4\_SE I1 M4^LS6J'6""=O_YRX6I2_Z.+&MN8[(D[E]"2UW^H,BEHR35=P3LL$.7$FR5\H ML9M)1N-R3-)MJW:[S5K(LU%M"'Y"CH(\K:\T'I11A;/,>21 ME2<"/;:\MSM3L[RII?M4E)T:-2E9 M+J5I^6W]S8APPRGCS'967R%.:X<;EH M8Z_5Z\MTWY,TMF>6IUG/T&JY_CO]),2(Z+(BJQB 'S.-/F 1[HQI.8-*^/F\]?FDW&O7* !#WU&'D\PEZ?9V%AKNTEH^>?9*O]IWL5>Y='?)741T?3D6+9'HJAB_%, ME8J%S];)5$6]27K-/XG]158J=LWN '>WG-#JJ\GH=BV47??))<7.(4AEEZ"K MBE0*P!SM)I5>.7?F9)C,%CHNJ9Q2%.(C6B!\:KKB:=_.ILKIQ#VLZ0*>G_3, MFMLK]*A]\QVMF6I+.;]JOS68C,[,LRHC$ WBC_1;K3A_],OI]?W69')N";"9 M5^:DK$E1M()X(E(8@A87UW#=3J+7K:#.JLP"N&Z["^5M@ AMHAK+&47:IAU- M: 38(6AF4V:+A%.!J$3/+/PLI^Z,)JV16M037=6IYCO'1GJT*Y&!38@7"<#A M4@:>H S<5@.?Z:,I!YDYZF*;;\_B=RD#16P2(K2D/[GF$+SN693B9MF30-23 M.?-4/OK!*YO8DVWJL%V?9],/L\^SQ]GU@S*]^:@\/-Y>_?.7V\\?K^\?_M]? MQEUU]#?E^E^_SA[_D/E_IYF@=.9=T66.G23AAI/P*057_0YX:^V-H*K(R.J1 MUW!Z';_W:^9V1PES%R)U2=#*EIJ2YG/:@2X9");L? 2G7C%V+E>+/FIUNKTS M8^^<;%LT0.Z#($B$::T*=I?Y32)Z[P0_"#WPUO><4HY;.A M/1FFX;WM$$?CH+&4Y0:$57SITN,AG?G.-O&6H88(TT:)(&>9/C%246#6\8@;4=/S2 MU%Q=1\0M2LQ3Z52EN5$Y=6HXSE$R M+1[-G4F#P)" /WVSJ4)F;JSRF'X+Y=8:!R4; W1:PT%1HVHOH= 4U?*T+"_) M85EW;GZ[K#\LRV*C<2VM-IO.8C(86G_.A/#+J[>U:(,:OYU-R$V>^ G&>FZ] M)7+.RVHY<74IPRT&YQS2F7+T]2OGSE9[_3-S9I^6Q7'BW)'AP"O,';UR:,68 M/<^,.\0'$?WLM[45.EK3-"#1#*=X#M8JEX[4:W7[R:M'@HDV.X:RFUR&Y: J M>BTUI:.:!!2MZD:X1RYR7A <@6(0*#V %CT'^T+Z;'=DG/G(BKG,D)(!DD%1 MZ-&S<-V>EJTB.6U'\EHQ3BL9)QD4;9]V%IQ6?9!DWU0( 9!.#^1G;(HK?3L' MU.MO;W81S,ZLBRPA5R[G2NVWU)2TJX,<\@D7S9Q;Z$SR>VTY()E)EN4@*S## M=T=%VR=+AC^GR.DIX&;4'1 2#2WQM,S?4SH9F5-V9:]6AD&A\>6.JY4$$Y/09 ZKB3AAI/P*>FX=P[O=.W"5=0J%VGT1R'WV8U] MISF_:>8&1<,0=\AY6&H."N6V#BZ4;Z[Q@V68/UYX#O[!3\D&IY9K>N#\N-#O8P_Q' M9@=3D.:WX!EY%=!=BF@.$$%R1JS_1(ZM:^[RXB=B1W7_ED5S6&) M/#?%-I88=R5/2(]3WB"J;>VEVM,A"NKUXTY->GV9V6!-JB^N4A]:42&-OEN[ M1E]J9N/>I,C$NE7H\^2P?FKY(J"2Q>94THLMMYJIS5QWL_4,AEMU\V0#F^ZD MWQJJR0JAY =D@ZG$9;O-3L,@.R&!Y MS:].A2>;QFR"\K%=T2!:4^F1Y^HZBC>^S.7 M?MBFL4DF6$ %;#(>;KE[\_%)OS/6KTZ7,;6G9*E;:TN?#>>G7?7G. M&Y=#".KV6IU1TB=[MIQWXJV0W,P4_],WL\4 ^A!=+J5K!.'2D&M"+YE>OG+0 MY,-!:]!M,(J/&"1^"F:^9-/RZD-^-AV64Q<&XU:O6[2)@&33[:K%I*S7H:C6 M,1')!9%$'80(_X$4E$G#/!0Q%NJVN\ @NKUY,E&-4E&D;7HG_ ZI:KDM$D[; M"V&W32V]P*523O<;35HC->E=/LQYYSOA1MJRE4C')GB1!.!]*1U/4#KN1+8L M(AU[Y5SCHVYK,"F:_B*%8TYM_*_>DZV_D3]H>&_@#[KQ$IY6 CK#-"QTZ6] MMX-76,?4(WG-=.)'GE,J:,CC+]?*].KJ]LO=].:/VJ^3%A1/,L32294J M/B\GI4GBJ\2C28G OH):F*7#3L%?^3.Z?()CN'Q"6%+B)6CFJ_:61J+A?8$, M_E1"2=#T3LK!HVC*T@&1_I?'VRM,]H08[(5R!3>&Y;E__ZL6I$-0$1*7) >B M7_+:\/Z5'EQ,B1,1'X'0 .ER>W=]/WV$EYM7?WRXOK^]>YQ=/6"!>']W M2R>>(8^B#+BS-"4FK/@">_UN^((FLHO]'K.AJ:U=/&7^)[X3[&U$ZK!/V,L" M0618.N8!]DEQ:3A'ILG$VX\7G:A S!&'BRLI*T/73;0M\R8B2\4P80HMHGMN M:Z!]V/9^)S%!#O[2=E_M]/L'/[*TJV&?=?3.C>@$74,Q(A9U$2*MX10J*L8' M"1(+D\NQ3Z";"N1 ]^%>$C7N_U#^QUBM;6XBWM MC:M9NMM2T+^EYRU ^5W+\[*A@0NSEGY+7O&(Q , M2S!,M@XH:JK-82X"->64=_)UE0==$=]G@084K1!QGI^^[ZK]EM+M]_#_]+KO MJY:A>5]9=]W("[(V!^]YQMOYKN)%LR;UV?:,&$>^+1SX M,;M8AK)$9E?+4;FX7Z>EIJ+@'.Y@?,=%):>3QR%1>;5+PP5'MIC("MW"@CLM M!?[_??CR%65O=N0I[*.2J$?8EV,E)WSDR0G_[A641Y-R:#>#2:L[K*="+\LE MU%PB/VU74X#GZ'H0 G4.H!,V26@7T?:*V,FE0A5UZ&H53?IX*AM0[NV""EMOW)JD D@>0V^KYJ2XXM8D-\A!BY!+^T'$*RW:HECDX1JU4RX%O-=M M38;UE"&'U(N"!]6 "%7G,.ZH3DRY$%_1JF2IY^:,JGSM=>HEG81>_NP ^"0=6IJV14W;Y@B9(K9O_6=5 MRIXEI'KGV(M,>""U4Q+D6FUU"X-D3MK<;:KYFH=).N4PM(:M7@J* M;)V^<2$O><&-T2-9ALP($L16JVHV55EC!YE/4?MHGTGM:[-4_NX,G,3M5D0W M:R+%7IT,Z17?A%.R*>Z1BS1GOB10-SIZ0::]7B'+4]"W-;)<&4.KUM X9%A, M4-. 4]S4TC\&]'9-R2TS]%4.JF#2&HR*JD'25I"V@GBV0AFNP817DFMZ0VD\ MG'MB]0,R3;R,EO*,+.1H)M$0-'UE6(;K.9H'W7 .H22(LA]BI>.$$\X$#XOE M3]>I>%%'5'(8\_Q,60<+[6F$<79H.VHYN:T.6L-^4<3B@V?ZB'C(,A&\ON2C M_4Z^H>K:7ORO=LI9.^JPU>D4A4*N)B.Z&6Q>1@OL[>O3Z25\.I4XU'IQIT-- M7MW:WA._1GKKN/OB(&\*[//*CZ57RZA)*[:D7[2WC;%S>CS[%=A(_K\Y,=LL!/*O8:@:2WK6I-HW[6$KWU''2!S"KY*I>3/6A-)H=/_=AY;B>?[-B/7FJ"K+,.8Z8?NVA/VTK) MS[!J9TM;XVVNY%Y1%/UB1U0VG"N@H<']X)5EH62M4DF'R129+6.I)4T2+?D3 M9D0I6VCJ[N9*N&G@[1M+VVG2\606$0A?'B!XYF#]MJR''.1ZBD&-6HC]V=#M MO84'\(2N;JM25.[*<,SC_"P#!W&0=,BZ)B]B??V-;=E197=7PE')JN'!P0&2 M,O)*!2/-O9-0*\\_W5)YO><>'=D:+&D,%F61R;A<:4)*L\ZM'!(]PJR#3N_X M4_,YOY!)0!<$&/QBI[?\8"9>8W1!:8Z&A9UA:<[;S$,K%VO-\#+')OE>W&V2I3)/2JG,PU9O M4#2M2VC@70'OY7/.UVR"45LVQ'D$)A^62]YLX9,^<.ZFZ#0N#6EI2$M#6AK2 MYV)("V\;GWU4E!O RMJQ7PP77]%"QT)%HWP18JMB7"?G%7[UM6L64OJ +)2- M>C4IAW,^5)-%ZZ<5>\UC=F7VF!?RVA:$J&N_W!MC9^]E9N=E<+53SD;NC9/9 MQ+4=6>'%S&7 MM=RD@Y7F<87W0)P,NH/&T$'%/61WR[X#[(V L?Q\$K$<=MIH5#EP4MR;L!4X MJ5GT+D;(7GHDI$=">B2D1Z(Y\7/U,/%S-28J1;DV K^"LD9X=Y::@_ VCKNJ M^C?RBI^4#YIKS(,]K8Y6*H>*$HTKMEP)B;4WU^2JV^^0!.1J[EZ5\SM<:XZ% M]]"]0\X#,"CAR*BVS;\*(19' GK=K:IVISTNFNA:\;E*W\,N"7G:OH>=\K!) MMEBUOH?=\N\\?0]EI**J]HI(1;7R;O.1PY0>B.:E86Q3F)6/AKGQD"Z3-"J- MNZ7%KINNU!8*IF5L@&Z\\ FQ7U,L5"RND#^@0U](/A,S$S4NQQD3[=1O)T4D M^6@7"!#>3$$B;,<@=^G,VCL@=HQC.VJ4J\B"&Z ^YA0[W4)F=?4*Y!XAK*-0 MJ'3)"B#(SLK3NLW/)#R<1_7=!PXVVY,'I#A/;YR:_TB;$.NK],JH?Y6_DU@\[M^E#X0< N703T>MKCIH0/#K--P"L3NT21(E M_>Q2@(MW6UT-16ZJBE.[O9*SJ#25X[34Q^)R M8E*RH*C5'18ML90E1=FJYE^])UM_(W_0\'J"*/HZ\N[0H(II6.C2W[MNYSO> MQK5V27;D.=$/7ME;GFQ3QP,__G*M3*^N;K_<36_^F-W\K-S/RJWGQ1X_.KVYN'V\^SC]/'ZH_)I=C.]N9KA1QX>\0=? MKF\>']HBK3KU)"!M96YJK@M"]AE]<)#VE1@>0$3\A9RC.C"Q[6]/>RT>C=$F M-8IT_XW/EGV1+N/# G.. %'8WX70=$,_3S_CG;MT\5-/]3=D*SLM?5LN(D>X M4&#V9QCU(_%5XM&$:.%?0?'>THFF%<&"+Y_@@"YIPX$?%,U\U=[2"+P:Q#/\ M(TU9.B#T__)X>X5YA%"%O5 *!J?BOOWOVI!Z@[+VHF)G4,I1_#:\':5'OSH MC)HJGB*R)I P((I 9MU?_W)]\S#[[1I+*OSWZX8(W:L_/ES?W]X]SJX>\#+N M[V[OIX^SVYN$B )=P_OWPOOW_6^?IM./__O;O\:=E'\2DHLQ(^8N4UN[>"K\ M3_&.Y3#!B)CCV]&=$)#PPE(/2RW39#+MQXO.!1W]QPL8/2H2$RZB<2(R%E=\ M5H:NFRBK0I^]Y7QP>IJ"_;&BPC:J&V!W#% M%NOT5?]%-B[A@RJS%,'NM;QKR41J]DV8] 9!:AL+MF$$<&"4SSD6L_7V/-B_ MNYYC6\\__8$T1[FV=*0K']$<@:L+3[*%]XA^OQ^1;VNAZF]4$S@A5457OI]9 MBK>T-ZYFZ>Y[R205,8G:;W=&HV%.5(Z\3!(_S#PV/F,"B"AMXXC*3KEVM:> M5*^?=_$Y=\?=0<7G7!%O0WR@BNZ??]&'BQX:[Y>SD"KQ=KSL4/6EM;7SY#+O MJ.L\3/I!9>NNKZ'#N\K"KOG;A#+;^Z@$4!\"JUHNO>PX"*RICH5C'DR]C3S] MJ_A$A,]V5\51%UEM;6BJ.V-O22I&8D(>J3+IE4POKQ[%E!Q%]/CBOAI!N:N, M&VL4STVH\$<5JDB3#JD">__8M MMT0./J75VD%+9+G&"V+F?DNA*3;0R_2'^F\4034$(8U_X>19LRS](UY1)W': M9VQ(=]OC83\=!L-?Y+&RX0NX_*5)ER2$'?=VQI;5O]1/^ [&;U3F&\=!UOQ- M\1S-5V'%D_J\&+U?,7)_!&JG MXTXM_3&@_:E/^A^(GOJH?;NS'?*-YSG&TX9DP3[:=QH>)ZO-\+@S*>5%4R=) M?/)Z 4K)R483=MMJFHJQ?].;$S5*^=U]['*UDDYA0?BE7%MN-<7K7%^TPT\0 ME.;_,9S#)[)(:7'=UTVT:7^U'(3?^2?2E6?-L%P% M3-D7S3!!!;G$>L2EJT$%&\)&K^$9R)6V[7X7TZ[\W.9(K!+WT]$77ZE]'/#. M+[8)&_8SYB!(%+FU'GQ^F3J&B[_ZB/]J/=\AQ[!U7^O/3%,K!W:C]I-HA0

YCEH:QT(9QV72I@W-*IUQ"I]H;UY+.>>PR.;Z$.*I9IMHRR/)EE3/% M=X^;M7,--\_W7K@0IFLM"T]1$YJP%X75I#IVHJFF?2U[<9KF?N8.-H]WE'\!3)T?@(>@HH=!'MS0+<K><$;QZ65"@*6.#QES%_0RDR+V#S5?G:E!M%N)GDL?[JF@DE MYP*F5RTTL=OTJ>&U>5*+8Z^-".,\4TAN]4[K=W>R[[:].#7[0YGY9H"R=NP7 MP\6R^^CF0%U:1!T*=$FDH$/O1\FFQM6=7-%C MVGV='_BH/'2IA''DA!G)M*F.:Q-D_9"F+DB"08CFS7B&C1 M[.243DFS9B].D0$5:7R>5'?K,IU& OQ6T"'Z?Z3%(: M\N6T;2;[VC:3X\1KJ'&S)56LD@M^$E%53M*&B?2-3FKRQ7:@H>#EY;=$<.,F M15O;I:EU!J4TM6&KTQ_68=64.)L\D9JFV.$9C"B4U;2U]W39;.T(EQVN(]L. M+//ZE[JS@9N =7K%QG-[I MI],7G3)"6D=@RII"-4GORB;IF9LCFZ2+(H>V-4F?/ORB?/I\^_N#\-(THREZ MAI3R6Z/_<74WG-T^_#)X2#9&3VF-SI?6'PY"7I4^-7IG7U=, M>/K#$39,![6:.F7ZRQ9?B-H>CR?BV#J5YQ:&U]I3V\-.?W2:O663Y%VL/Z6P M/%!A9UG)'MO8 PJT^_W>L;N-!NQ1HJML\1/NMB>=X60'%<<16@['9/A0^H/> MJ;2 )2LK#%:CKK_M(Y[V@&*HL8%,H%0JG^YOORBW=]>@JV$#>'KU./MM]CB[ M?OBACFSQ5/$F/%S%$1>9S?S[3 HDQ6!RZCL_F(S'Y7M>U++SOL 7?NXT!H+9WF/[PGTW$.A].0V28F<1>KN-)MS7L3J1) MWAS&2]_#:(2X41U/]B#ZT:1<\Y)N:]PKZH MF#E%OT$V#U*L:"HE;6X9SO*F>*XTW M:;SE)ZM2=]D=I\!/MO.1T=^4D5^&7.IM*3QV"?C*Y78]MG-@4*4,N^V]M,I$ MM8D/Z;7=($GM*IUOBQR3+PNVFFVCG5[596!?%4\;$N\$T: M([S8/Y&>)3_'Y:!C)Z,:>\EQM"7RDL=/I7;KI$QI MZQ_.UG]8:@ZZ?-)<;.X#$BE6!@^4''4BUH.T^H7)MB*T_ %(^2I$R9DE3^6\ MFVI+'2?CSU53TMX&?W,82/H83LS'4(@-QYV2JO&D*!-6$6<0@!K+5D*EP.P? MR.U0S?)_M1RFU!*/@ ()W2^:81+(-$@1<#'5*.B_&\-[4UPTWSCX#U%0Q*H] M!17G:@GQNL @/Z+_?LH/%ELZ#_A8K\FI/M!#-9#[LX,I(""(;764HTFY6WY+ M$/- UO8^Q[W+XJYN["TYAPDS^ZA&ZFNK6 $V\7=PYD@GMO=Z9F>=?\@#.=J3ES M/_]$CJUK[A*0=L==M?LW,;.&&Y4PO%WY'1I*3]WTT&^Y-^ M<9E"?"2/9@8,X%*SGO$ <),$F *NBSR75(6:AO9DF!1?0"86GT]44=2=SF<@ M-&=MIYX67 @^]M@H '5J^_T3BHSQ[&AR0WB.IB/%LCW\G\WB?K+,.KOR4+,%?60&L\+E@<(%-EA>+C)H:Q MREJ7^W!*;U@VMCRJI0)LCZC6^X-8F7D4!Z&T@YGU@B=N.\8A"F2:)"*DQ5A# M!FI2%H7H+S-IOYR#:]#J;@M5G';"J6C<)&P9:G6W:@Y*[I<#"NGWDD!8ARA% MK62#WZN>@M6;H'&:(6O:VMT0.=P9+>U[:\TVWYQF5\TH_5N W MM?1;H/0I(?1,E6%+:D,>"[]?4.!*\UXHMFZB>5^9'K(/WXRVH/7GX9M!44VE M=K-?6OU;8P)K[>TP 8 FB0]I^A_$].=$>$=I,!-=<6]O_:23+-^7?@"Q;N9C M7[_5>]=WD/5@;[(>I.!COS^$7T!:\M5=Q/J+9LV1,M^X>'!LP.,+F7:T\6UZ M:UV:ZV=AKN>CY]Z>!OMXD%IQ=2QS/?OV#48<5G?+%C#0X^^_C777 M"54Y554[FW\R==?./MF.CAQ??5#7GN+:IJ$K?^F0?P28:V"75CC7JIS*),@5 MM R=6CR18K,P];CT9I269UU>-6N>5EO=$%[,Z:*3+OB[-OKNKND<*$-]@3 MN[#72=8@5%;!6^Y(ZS77U*:9:S=IG04F?P-3ADWCL M*_+VK"_A;5G?P9ADS3\HF#M1;,"T;\AHX2^$LDW/;H>/9W!CF7&%1<8=DQ@? MWGYU >7>OUBFOM#(A!4IAW$_:$T&8A2U26(K06Q4_IY)C7N,&D!,;2.(K"<: M[@,IJ;KN+V'Z6[($MS8WW@JW7>-!U^I(21-7Y7(A=N+5[+#( N=*=&$-R86H MVVW9F'R'ZC3C/>@@A[99G7Y9Q3R;=#Y](2SCA1?J(.?D7V01HG3*N MFL)^F2J7F@&7-GWX1?GT^?;W!^73_>T797;SV_7#X^SF9V5Z]3C[;?8XNWZ0 M.&DRAG[TG98X:8U:B<1).\4.0M@@GB.DN\H"/XO?Y#% ;0!K]A'Z+[%]>TD@ MG/%4OB*/%$^Y/OBV-%YDLG8UYY-0;G8>6-EN0YSN/^'AOOA43ZI(:2G"U-*O M---T;Q=Q[/D =3XS,S4GQG4\!TQM#4;)=)DF=RC%KCWN \VQD=Q,9N,* Y*%@;9[[47-$TJB8).&F>UU"9?L<$YJ,]G?]W M8SBHN+RCJXBE,U2K("RAUM*R[8VB6IU>DG4A1JE MN1^FK9O@WA>ZZH7O2Q5U>\CN5*?3G2IL(:0T%L+VP[,D-8W*:4GC?E7T)!M5U8-AHAMP*J[BV<'%01M206W$TC9U MQ5A!$CRBV";2II,VW8%MNJ+"2BU;O#PHFN,H#3IIT)4VZ(J2]:1T1X]>IVBC M^E,TYV1 O:1>L-:\PUS]@L8"BBYR=\%+4T+H%:Y$!$2TBO21F>5IUK/Q9**M MB,R]DAAH]70^*7:4>T?7Z]%@3D1 -#+679G>DY-]U$G)_)-!LGU9_,],:@&K<&P:-Z= (ID/O3[&9ZP<_M_] MMSJ:W(R^(6=NN"3!V?7L^5?%7M, M7\6T?^$BB[B/=S[[YWH#:=]2RKYF M)*]G5GJ6"Y#U4K!"FUR=+>+U)"/6 D2LJ\B6+\"/W2TQE:T][XJRHRR[KE%5 M$LD;^ZA]"YJ*.LC4/*1#0IZ[U!P\QJOA+9?(U(&ZZ&>73QI$M^?V"IJ,:83J MUZ9F'0*E_G#6+L=+/A&#=K^LM'M*%H\V)A9H/ @5&W@7H$@4*.(#$,15B!XR MRZ#+2:]A)QF\*D!L.S2$I$J1<:P7R@OY &)C\$%C@[[U8H&+$*O=-X^L*H(O M5R0R+%@A4@U\=219YJ]KJX+%MGD=W$S\?IL*]V4Y@W1OUR MBGMOD(1XX6=6/-ND,M?#^U-T!-09'J'L!C$2^B?#=3>:-4?T;_:"_G=.Z(C^ MF6@@](_X")!#_XA6:]-^0RCQ#"=&]C<33SXCY'+D&'Y= DSFT8N?1[]_Y&7& M^.9V0 M.'0%XXD8EQ*D05#74J4ED9\XB^0HB>SL5\C5S;:G:SWS%%:EH;.!*,LH6S[&>I4IKO>(-NEXLT-PC;6_0M_E2LYZ1XF@> M4NB?\1<6-=$!,IG\ 5"47["&(A$3I3%^IL8X99K;Q37CF'O,,+<6& *DL9F[ MO YX)#.L?9KF>+'L$&F.UQ8%$=C8+IM#4@';3;I;0I:YX(R*<5WM)[U7TLDV M"W=IJ[F2-;M.%67:)#5E'N?&VS;CE/OYX8O1%JV3;!L M(;AL6','VOPHW^,+G/SI/4#C2H-6K"(%":]0ON@@7?V]0XYAZS-&_A\9\6=F M!I6+075;@V$M5JBL0) 5")5;CU4PRF +(DD^6.E^T>X71ZM(D.%/&?Z4X<^& M['2#3409_I1&XM%4J:M,2Y 4V*IX=@B_U8(D9'NAK(FV(*U$&?9L=MASFPH] MXRIT/@5ZZEUICO.&M_ WS=QD:*306O<&QZ_#4N^N_%;:O8+:O;MX M=EPUSXZ&Y1H\3EIID'\2\2]%T6H/;F^> M3%1'L7Q:!4Q%>_).O.T0HQA_5LQ1GU,4CP>E1/&XU9LDV]B)=W2RW/X@B6;= M=G>0/]T^J\AT!F0V'!!P'1X_/FG%-"QTZ>]; MM_,=#\]4N36I;9D>?[E6IE=7MU_NIC=_0#.FF]O'ZP=E>H\_OE%F-X_7/]]/ M/RMWT_M'Y?:3 H]?W=X\W'Z>?9P^7G_D79SP(P^/^(,OUS>/#^W(UM>]J_CL M\&B:Z\)]](P^.$C[2LP%.%S^;E_U@:TM\#I*4Y2(?[R GY.A&0%1BT7W7_]L MV1?I=V-8;@$V"7+\0PW-/?3S)%WW>E%8R2QB7CJI;.^;>DEV3WR5>#1I,+*O M(&M@Z;!3\%?^C"Z?X!@NGQ 69'@)FOFJO:619&UZ]]\U9>F R/W+X^T5 *@# M,6!;ZPK$.I;1?_^K%LA,RO[A_X374WH.^W%\X(D]K-Q(^]$N*1(1"8$@ (GQ M@/?_G[__^O7V>,?:4AN(@KEJS\^7-_?WCW. MKAZPM+V_N[V?/LYN;R+S#A$HXV2:@("5 N0S-XOWD\\2,I$]@SG:U-8NGA#_ MDY\;0$?4-IX=,AZ#?>##TP0U$Z!65L[[F,!ST: 00F2:3HS]>=+:(X83/ M*)F4']==5H:NFRBDK9#$U:C49FON#=J3D7H0_;Q,=+7 2CKM\;#7ZPC3G4\N M!98R;O?'D^XVNZV>Q$(DGXBWE-/A$WFAB+>2DV*44]&\\(72&PX;=B8!:_3& MXX$(H8>DIZ+;WS.[A0R0WU.QS1-=>OGCND+&D<6))AAJ@*R(K+?;;8\GG6X$ MIWUT^(--]\2R)F:D(8T\\?(GWI]$2R&Z W)?A(L?\.1?"Z53;CG],+_^W?4< MVWHN%R-0IO/Y9K4A'1CIUMUZ2^0 7:P=M$26:[RP3C&?;3?)-!K3P;#9DB-1]O33'IK0+M6 MY+@L)D@W$I)HO+<\PB)3GQHD]*G"^^__J^:BO<%A0T79+/;]S%*\I;UQ-4MW MWU?*7X/SXJ_(>B%?=C(:?I>O)'$+3]5W\K3W30T-9,_[X,&+.NGM?_!U'/ET M96\L[VR87"Y%G*5D5NJ,RY9$%[MQ(]X=_\8]:EG3A^GGZP43[RG"@\T_T-Z*+^>?NRGV.,M*)5B/VJI'<':QA0) 0DO#Z34.XP4 M\.-/Q]RK=Z)N4DK173PLO!TO+[#I\M6V\- M>Z/LZJ%P@<&IR39AVX+7)^B.L&01I!Y+3ZE6]ZE*'/+:)<&VT5VE-:3M3]T"C5UG#2R1:: G* .-+RO124 M G"W%)1U"LJ$VIC?(U9$?>0A5!Y!W5,JCCKE=,ANM]4=]@\M#J7R*&6BZ"9S M9CES547-X5'R5GV^BV^\*/N?+4C];--Z!&EY/7*X19'S3NJZ/$V!%4S'/>(+7;'G<&L>1L'N1G?S[5U_"N>)]6'V9G(\["2A!" M 2&]]2NZY"SCOP@KCK:C@8YXZ2V-^5<+N7A ZND!KPA_@S;PWEU\]%/=7A,]VEXHTX=?(:%E>-GI5FFV MIJO-*'.'Q?6/G-G2F8>0-0-$HCQACU@8:]KCN[^NM8U#X&,[W394_?H MQ7#QL+>+.\>P'=H$[HHT%9]9P1#X2VMNK$TTU?^S<;T5OCCW=4ZKG7RNEC^1 M8^N:NPR)AD)Y6U)82&%1F;#P35LQA47%\7C19$2,ZMGW.Y MSV5/SA7ALD^/$XO.K:-.KUQ*8[*S0&;5=E MCAYH)2-%.A9TVNJ!@J^I;0(JN-0K"+-V?.@(&6'=%F&M+WIZ_0TY<\,E?6=< M I1'HZDNZ0KZ@ES0@^%+O/V>8\P]I+/G0+]U6_B$/?);BNZ"OLV)%JTKFHOY MZ U4YKK:\XG@):J_">%A40'VF*B8,=H=AN-'WC4ON^YU_O:$J(%'2_D_;APP M#8G)2&OYR9>WE&TX/^E32_^-1Q'#%LWE8ZM7PEDMDZJ#?T,\N MGS2L6N'C6ZV1Y9(HFK(V-:O2EB]GJ+0?M$2P">&GK0"#>5W4F+R94N_>4^)^ MM*G:_SNC[$^V0S[X &1]%:+J.R!J'DG*"BU-1N/]T >W0&T=Q#+9( M:JZ"FBNJ39/4+*E9 &JNIB#J4/I.[Q#ZS7BR!>U //UF=_P@4[^1WGWIW1=H M4R18H_3N2^^^H-[] ]80D3*G(]40A4NLQ/#X$P5&,5QWHUES_"OP[.N&@^8> M_D/8K5^ECA'>AM-5DJM;9E4H"J M3@ :GI^9?482I$%QA7J9E*;V[>+1L*W=S8LS5'>BK>30\^;0TPI22&H^J*C1C$H,UWJ[8)\X$0J_ MR@:Y_?>%C^*F; /[C[:4[QE,)AFWFF&/K.NM+7A:2:1Z$]QD_8>_7=CN(:' M'I#S8LP1M8'OT=Q^ML@HQ!S.JN2?E OC32;)/L][(D=)ECYOECZM.(&DYC.G MYI.*$TAJ/G-J%B1.D%/;2@0*CJ9=Y>S,=F3M2@869&!!!A9D8$$&%F1@080- M:D)@872@P,*HSL!"HH?*SKL;7]4S5C !/3OFQ*^E\'8>.G*4Z]7:M-\04HBW M2[G;./,EUJH4* RM5'<-[\SI:NC5K;+FV$-XHJ+&'JKRUFXMI> ,0![BY!\O MBXZ74_3*=855*P?P'YV?J7]&@N0,(RO;D@0S6343P* 8Y!LN+&?;)OXYTOCJ@A_-L.^2<>W7DD:LD-5DONB5H2U4=Z[1[^!UY'/X41 M@[;TY+,7S3$T_%\\>-?O;(%]6%:)O(\Y 2M[?F3MK->:A;^ M:3=-8I-/#$M'EL>.G'SB.?@GH%/RMO6O2\-#9/#0_/$.VZ]TY%?;T8-WDX'P M])Z^&G@L&-#U'/LKNN0K9D&3I5'>T'_2\-R M],\D-N!B%46G'A*Y"D[OJ1. M2G;L&Z84N%>7 MVI/ZI/:^]ME.;4_B[A][<)DL+I/%#YHLOJ^&T9 -DLGB=26+']!I>+XH-+?> M$E$P?04:+T@Q+/QWU,(C>)!#[FG?9.6FQ*21F#3G3(3"K[)!F=.2FB4U MGPX<2SX_R'0^WZPVI%4A43FNPAK'C"@LDG.JY)R3RF66]\"94[,@N%[B/=NI]L$\9XC.".L+(='3F7=#DP\]%@ M[2FN;1IZD,?<&"]YW:MILBL]U]Y(RU1R]IDYY25?2+XX$%\(X]Z7?"'Y0B2^ M$,5YGQ.[X1YYFF$A_5IS++P;;GJ0"QL:@=LS*P%X5 [;:C1*NCLK.%[)SI*= M3R=Z41:))0_C#L?EPM!",J[$89$!%!E R9N3K [43M*]6\V&%YKWN6SX8-P= M]>H96VUWNS4-+?=;$OC1)0HF\-YP6-N&RP!4"57GP_3S].;JNJ5\1'-B."H] MM:6 .BKMEKRKC"G%:E(C%B :57.@*;H)'#!'A8E&OR'3^8%N4/R[&&21<&;: MK !T!D%?H0B:VT!9RF%CCEKJ8% 1.F91ZOW_V7O7YK:1)%WX^_D56&_WN_8) MBLV;*+)[QQ&R+/=HU[:\ECR]<[Y,0&11Q!@"V H6?/KW\RL*J!P(T$0($&J M)J+'-DD4ZI+Y5-Y3&UR.>Y61!- 0;J\/UM:?IH:UC-H2<]>&U?F7?RZMX#FW M3T*YQH?]86MX.FY69^E=4_M!P,31@6%)*2[24,MMP[;05G;:TMC0K-BAE35O MKK;/]2J,7\/1"LG,AY7#9ZO[,K4&G:S2>?NCTT)I8)6IH$!=8.,C@K040$Z*J#8X#JM4J=5ZK1*G59)#3SX57B"17:!@XQNF,X4%^0$L%;_TX*^>-0G8U)!= M[:W #XL5^N3",]B/R=QT[N%'I@^']_S G*!2!43=P:-30&I89<[:1_#0]=Z9_X]QS/?L:\LXW9!JJK\(?O93\ MS?7R\@-W,+-]3(V M2+NYM)OK!;BY.CMR::DS;H9+Z];\(5U/ON$QBHZJ)ZL8#YG]A2%'/[9 MR1TV!*5F7,SQJ?>\L;!-QZ]4HE4WZGCE]A*KY+.H\L6[\$0I.VD4.X'UO6L+ MF:J!O(5D[W_EQ'WKUF-;^NAL$)*OO%(0\$I6].ISF,[+,]-J:FZB!T93LZ;F*K"Y$4Z'8@+/3L2;%>[ M6J2;^)&5-*N4D6ZTM?] K/TOPQ2IDUJTM5];^[6U?[PC:_^X<=9^$E8,R_>7 MIC.!I]"J/[4\-@G@+ZI)7YJ9JQ,7UZYZ2B9 MXGN^P7\X[I2*!,J/ RJG5H^W5*N;0^B-9^<#LNK7RS$\W&X=P\2[7Q?DEN*A MKUN$S6W+,X=*P)I-C]%-H*GYA5/S4;D)-#6_<&INB)M@(R]!Y?+2^+3R5*&Z MY"6=9J =#]KQH!T/VO&@'0]-V*!#<#R<[LCQ<-I,QT-6ZD"5HJ:Z[.,5J*M; M9[MUSV''<##3_F):TROG MPEQ8@6D3H-\EU=JO[,^EY5L!NV'>HS5A7 _^RB;NO4.CD$JFS#,N M'Q:V^\R8068OX\O2F\Q!MC(P3[-2\57=F>,5TJM;9GI-E5E]]$4_,+I^:C\IMH:G[AU'S(?I,J9::S[N'(3-H5HETA MVA6B72'[=H5L]IZ#W2#M"JG+%;(I 6WA"AGMR!4R:IPKY#J8,U[-R6-SYOC6 M(S,L!_[-P@;D@?FC4N%3W83C%;&K6V7-7@]UHDWU>E2BS8Y>GC;[@ECM@)P" MFIHU-6]-S8VQFQ=S<9U/)LN')=7%)I'C0I4XKDC@R'9]Y?WZH^OS[IRWYH_< M@F+=#<%^#3G'*V-7M\#+YR:#]E&OP6X#\U-L-UZ67JHY MN^BM<9 F>-,>YKOM!\T22^:(KIOIC3ZRL+3,MATTO3G=WW>$Z, KQ;G]P;+Q[F#D&9[4Z M4L[JM#FN&CS-$MGG5M>X&>Z3*H;-,.LV>1>Z[>YIMS,J1Q'A3FXTM2JVK9(] MRIG(Z:AWUM]NC&Z[U]MRB&/:CR,CD.TY!@BD/QQNO2%)_TAZ#)TZD+J!WYU_ M//]\<=DRWK,)*39&O]LR4%)J4+1/!GSSS8CDHT7T6> NPDW*%[ RQDS(7+WV M"$2NJ;N\LUF>_%S# FTV:_CZ2OI%UBZF=@W@:H-B+509B6<>YQ=,.NN4JZ]Z MUNJ-3TMH!6OEF$)'O$4,Z^:'NL5B*HT5;"8K1==GW4B18BZ%:XQBW ;7Q4\; M62"V0)B=W1"5[$M5H(-?S5T;]M"__'-I!<^YUHB20?%GK5'WK 3P'"[*-!-2 MJL,/J8_4?!4W&2U"!?,PP.)U,;0HG6Q3&$7&_4X^BOBP/?#9NC+QG7SC9@. MI!J1\DVX(HTM+PU;CE,2*>;3+ XDPWZYRDHC$$?Z6APY(LC84)TY1LB(S)E' M!!GEL>'LK!0V#$];I[W1?K&AC(=T8R[D1NE?@CMW^DQ_,6%N^)>I]:@.GSI? M&Q#\))QZK_.S?%VU!C7NHXUQSI[GQ#]X$F^Y R*$@6__>FF<7UQ&.=?X>//QM7GV\O?OYY_-+ZO>D>[#.=O3&S3]Y&F[]D[CYG?7XG/ MD;F"?\R"?_2'G>OK=]\NQQ>=C/^1XP+I2.^RJ;'56HFS# &2_<066IRN.E4:T_B$OM:]AL[F5> R'#2Z@0 MWP)#I[Y*_30-&^(K3!>=>^(HPWVZ9R=W>,8G=PQP$19LVD_F _>^WUQ? 0D0I[LRXP!O "?S__,6,M#F^3TE4VA$OT&O5[2H]^/_9 M_>1+P^4J=JD!0CEBWEX7 \>#7.+%W]]=?KW^3<\" M:#@!!#4#0 P_YWL A.174-H?-,18>Z-8^TE[_O0&@[;N> M3[_VGWT :Q^U<7BGOV#<#D #,9BL[=X_MPU\L^V[\DW)]QCNTC/^,&?,NX&A M618:<,@+%?,?2!FT1Z'(_:.H?-\@&MH/Q225C6Q.4XG<#TPOV(340.0X&_P& M9.-.EY/ ;V4=:>8T-"[L'A< $?BV([L_61ZSX6)I&4_(D"?^'"2HJ>3YN"BI M&?1@&328FP&RYZ,U98#4)@K9)'-32TS/HI!, _$9D=YRC&#.@ @>+)#ZD:4! M[F?F':@!)+WC2!,@FO8&,FA2+UG]VVNX(=+W3@@P=+$M?2!4F"JL!28.RT(E M ;9I,G?H'C)>WWRZ?<,?CZT$!*#O# 8)7')="RT#^ %V#+:(&<\6LZ?\Q>*- MUJ,5/+=7BY$EU*68BD3*S7-:M3GK]?:MVA236;]X%FAT"X 381F*UG88^-;4 P)C?-JZ(X7P&K!PP(LR@R%1:XBDLYPYJ-^-\ M 7!BHUP&LM>SX3% =0^>AS%-OQCS%=+/N!K8Z_RF++M%'Q73##=]S1.K<_1E M/7-WO3HF"^)SNX[9GMNV"HA Z'AKYG\XVY"9AYQYAC,-MZ M #H-.#!/5 1(WA7<5AO#S.8!0I58?\/ND6F_,KR5I2WK.1?TN]W# 'VQ+"-< M5R.@/L,L"DHI*KU G$B;)E"Z9^0&/X$OFA)A99^ ME5)J4[HS"C#PDE:NIHQ)NDO.0ZA0XYM 9,F76-I-8IZLA(K4J9?@DV\^NYY= M^O 2.*HH?Z(W.@Q^@.DC*80+:"H[H*P#I+HPA92">D !T0=_A.H0B,.@]01S MXYXYP%0@V. %P1;XJ!G:Z^$-H4CHL3^7H&SZR#3F/>.63:H,V*H:>A2$ O$61'W MYCS#WX);0*UP"@F$="'FS,T#Q'"68C;LQP(-7KXQI0:%RD.T5]2OL&V< Y[ M"V"KEC8, GMIXT)@#[R$OC*#4X9!7%_9P1 CE."1XP2*"].?GSM3_ /#BAY- M&T\C[T(=#OJ' 2"X'J(6^HNRLD8@R5J1Z0_.,=84[Q!BW%FE$NZX ZS]#(SI&6CT0ORY@_GB M1K-HH]M&> ;)K_C:?.J3-5LZ4T0S$),I0A;1<"': J7TK"&7FEO'@.NQ9 MW./*QQ/,AD5^YG@CGL,OA *)LL<=2B,^T&P$-]_:-VWCWGUDGD- B@$D, /W MCDQEB)SYBX ?VP!B#-Z"<(?'"O,SGP&>)@PQCDT%HL-;EZ@[HE0/VY)P+#=' M%"DOQZ?]XFL=KZ6PZA,=/$J9-VR"I V7#4>J"*!.#T3BC]9B1(MI,B0UU?$+ M&C<-\]:V!3((-41N*C?G8+ ;8 3*%?#)HVG9^+,3D,).?&!HSN(1+"6A@20J MD'DFSQDH$4,@7X&@50C4XM*3'$Z9+^ JHPA?Y<.V\:G@VOPY2$(G ?,>"*!= MYY[_0YBC8X*8P#!XAJ$<=T?WB$L_M+SH_B!!3HI>$QY[@J+HO>F12Q0W,&7& MKH0V=D?)39_T>9IDDV1@>A[10&#,3#B^1^S9W3:^.1XS;1AJ:MS##2ND===' M"7H6:L5$5T2BB5$C<=Q'=9^K.MQ8"DCN$+/X2FPZA;6<56M2$]R VA!*]'PU M&ZTLQ4]B;1,7-(%_<:G#"2N7MXT/X0;R7X(&!J.AMV_*D)M(4L%HDGOCSZ6+ MVR.$$OCAA+,P/BTX1;B,@-]0/(#G43J+A#BARWEDW 9<04$(6?"!JR:F@1XZ M1G(*UMZBW0'!$3"*PQ6> MYI+4IV7^GK9H)Y3UPVK0(H.X!]*J"(1MXFEN3>;J0G!"9.CFV@,,*VXF'V]#N('A MVH1Y@>3_)ZCPR+&\_.5LAI&/_#$0 MSMTG_D,TS /-3:P%78N("W#SXQHE7PLPO9K!J%,V(=\P?*NL:OWIPDXJ),^U MIJRM;>&I*@<(^IUWCVA%N/?&SNJ4K[->J]/II'*^0(38;-VI6E;KGH-#J7AGTV$UZY70-/H]\XRCT-LP;:GTAVO>2XEP:^R3>PE6VXK$P6W.; ?=&V%'Y6R7<0R MPCX/_O?\^O9;Y[__R,H(NZLX)6P_66! G*<;I7?M/YK87BY&M5X)O\0;\V5 M3X:%9B_MM5M*.?I-10 M'&5F>3Z&7[;$W]QE8+S^["3+*F+JS>ZEX6LG9O?D0E..(K MW)/6(T[6O_7,*>9-40$@>;='WY^CRH 6,[C]W[O+NV"VM.6O$H;H+F8#'X0E M^EP-2:(-,#Y3 %VT[EKLO<<=RBZ"B_<8$$V?3U$;)#:6NP-*?F#AZ,GOQ7F$ MWQ>/BZ[/G:IIY%AHY _&34)P7SFD@\/-):P\<.&@Y62R]$$T9%'D/%\BAFYX M/!SH3N3O46X4M^U@Q+W]' ;EB\@2O ]=94 9%R:=Y3C8YHD8DAC[]+]2Q!B! ML*;#"NDP@1H;G69UT%+N^%[<86URL33@5#6C[N?L;_ZG#R?(1?M/2SNP3CXL M'6ZG2^0QM874RM,^O%!J->Z8Z?'X>P8J$X9 .@X&!3**A 1EQ_#(80_[=H]W M!G>WH8;T@\( X6(I5M[O$ZSO8?D0K^I'!D.:&8G3D31])6;T%5Y!=1NF7YB' M9AGSGBEVQ"] 6%%<2[P <2\LZG726]T.*65-_!FOQH++,G_4O*Q^M]RRTB65 M?^:*J7!9F\_<+O,(6BH7%!*G7$1/W/!8O^)KT0OSA5X8KG'0B:_E!,2?7Z=+ M[P'>.7_UMCM*JL+* :V9WT;GDS>_,9I[\N?7'Z;F1]](5S/Z%9W H/A;'@&- MDE:@<&1&_(U4.15F%4(??D6I,GA4\?B4MI%CH-:*A[Y':I AM)S?M&-OAD2H MY?SF\*C&YX,_^Q6A7?IBUX2C+_87<.S-N +TQ=X<'M7X?.AG+^U!(@(5YFW; M&/**V<0NIA O,4U.A-\&V18\GM,8A;IB\5/OD1)UX7O+GV.R:7@"Y'M#6]WEP&%^MQ2IW$N?GQB,MZ!<--C/O8=Q)TP>@4&7)#4"&#;HR\H!41"E1H:9L'%U62)!*NB/NEIW)) M46D@CZD)T?@C69@@S&_B=0U"(_^WK! AJD=,%;:YPA2'[S*" M3(:5F:HMUU1BQLS8<:3FWD+@#3/70]B.ON:L2W7RGCR\W-S9#/,],J" \ATP M?VIN+?@YBW@!N/6".04"R*Q-]#)X(MF*2O'1[SS+_]XV;I*3D*67LK MQ[G M%3 '9V;@T)3QH6Z+A?GJE/DBHO?$R/C%TI&(#\-%Z-"86+%L[R7!BP%%N!(ZWX\,[AE*#+KBY0@?HN(/U>-"PZ+@XUMA MAUMA*5N1"$+%H%+@%:5N&0:0"X[RXD_R.!ZZE"F#V09I1*:@+JR IP^V4'CE ME:%,2]2?)%!C#L$'_9P2FRBC211UX0*)S%6[_5)-7' MT7*_(GX;X?+29PB$?"\$<#)Y#JV8\['2S)?8U^BZ.[%^G,RM*>@6OU(8ZG#\ MZBT(03*))'"K?7UI/^5:1/I&._K1FC$EJ+9_FNFK1$7(9\ZKMSY6"C*>F>GY M2=1M*Z"0X@10![R 2*KHT5.>/0_:ICN 6"&D@ADJ$?3%$M0\SR9W)G$BZ13[ M)(BSSMX)(CP(%9PY>51'+.-N?S6M$"KGTU8XI7>-E)Y+ [ZX[18T0=A$T=:1&#' GN)1?)4+:Q_OO M#E),%)#S?R'7O5PNWK6\.PROMQ@9!\*X5RI/$&%8/'T9$S?D?3D1B@+IQ3+N M%O/3[X043#&X5+-4S6D6IA?\O Y4R8Q7RJ5P8 X? M^)$2$'.J!B5=??Z0QA%G^1#B"(%I,H4VJDB'8[<-[80Z2B,GAK7SU">64_+A M7G(G#S[$A@&.:JD2#."+6J@NW"LSU-,9+Z8^4RL]WC';8H^D)V/D.R5?85&0 MJ%8 ^V&1(+^VI@HN"#3=)PRWC=>X-V5Z6F D9UL< 2"66>\;J/1>7#%PB^1FLP M7K<^7^XSV4;OL2F[ZQ'B<46:5#&X?IKV-C,0.+9\@"ZTE M"A9B*IS'S(!0$G-DXX?ZVFJ#[H!H>>>ZW_F';Z@V!#=^R+H86/^VRA>C-=.8 M+3U:4H"J!WQCA35!IU5-(2K+D7S_4Z3Q))^+Q&9AZ"6KD3F9\S#!Q(=4 R8J MD26[%XR)TT$?(Z0<'<\M"V MYV&)%'Z# ]>$XH$"$T@1O'\%^0!(@>&='X#G^.;39.*$STL;^HFCYW""](3" M@B,'2GDG\J&Q<.FP@Q?5M!1PE%+ M9/V/=%U'COOQ!#P'!7EX$1/X &Z(^X) M,F7LH;AY4\9PVQV&B"5J,$UQ:DGM)K:C^"0!7[BAMW@<>!/1FZ23F5R,H7$1 M/2?W6:#LK*>77D?0"PR!GLR\E#[%\J'<*H(! M'YF'+(W,KQ=)G<9)BHXU)5(B-+RK92J$!/12*WIB;8L9'V ?&R&V:VYNE!DFV/H"X MYFY21 E:5(.+.C>W\4'&*K5-:;JMZ5;0-F(2\SD*_-VE_-%>\=G"NL"-* Z_ M<60UJ"@<)XJ34^?")Q(?/.KZ$0;5\N?"*'L@?3\6ETO?I_9^0#5<["-">^X3OIP82,3MF@87!!H83(?E% MUI\'XF-/:'&4O>Y<66@LO@LM$1/!O(G%91#NYZ#H+WZX6.62?$,>XWQRY?"R M\U$KO@ -C0^B[P6?32OQ(I_WU!;[)*>)UED^Q:P9MD#"FIBX;=SVB4_"FWP7 M>J;T,;PJAI+:$2Z'4#\'9=)N&T90BI%'049Z5(YMF9'B'P(][CS&91A+, MY:>P!DR:X/\*>X+XQFO6OF]C]YN'!\RI@*6@_,I%8#4*E,PO;Y23B#5"%%(E M\JML/&(_JST I[P4B[%_ZMOWQ=Z^G$9X,9RP&9[0OZ(24WA[5559?6,+1ZEJN-1K\ROG(MRB_$+1 MG=/#,$>(-1G*HNHT2(0_ .UN?/Z]3,.=IB.J]SU>&H2F,DZX)0\F#Y(ILOG!^&7A X M45,;8&FXR>%C=,$9=+50-D 8H2'SCZC)C"]BN"VZ\&6B3[)_DNA/*Z\>?A7+ MO>7!&7!AA_E8JC<5I^-9=TL,7FHE+FR>P;!BQ3[\S:2WDDHBPD )DQD:<]@?@^1WT96?(L%8LNN4]24 MSK@U?U!C)4K*DJ$RT>)P! S%"82I*FKYA[ZG93!WE7YA0DX6@\A#%X(YQ8-Q M<6JF2(SM*%4QD63JH.G-H%-M\3MA:67N6850X'1E>X90]H M$<4EV;R9:$FV@;%)2R_G!A&9QH"7@#+158)U4HV%:_&(E+"A&]T8R.D 6(PW M=^-Z(_T '07>=T.FZR'RAON- @FM[C?4J1 'BUX171-F[PDJ';!J-; MPU6B?4)$Y2HOG*#]C71M,AP\8#;^PF:YK!;=YVKC1.KCZI+A5L/O$<)OGL!C.5111*0\/##$%O?^ M652VEMXPR<.H+\">V7;D348K'F8YMT0O3 Y $VZ/-!UA8$2D)(< 0L,?7)L@ MDN.$BY;4-73+8]H5M0==S8_6%)VUV:"N6.JL65RCFIB8G^VPF15$YO$,Y025 M&S1E/]'N<.@F; 02!0RGJP,1D=O)S2GVY8UB5K/TN)P7T1V@S%=TGJ5A:(+\ MM4*M#!M3*#Z6JI5=XQN<&L8'4)6.'"P1JC2^[>CFF38-66$/M\F*SZJZ853\U*TKR-E[[C)<) M,L9O$A+-!J),R@JX*A1P6Q>_P:U?1C6!!\DKMYXTEZQ99&N;;[\H37S"1 B? M.7ZD,Z@XYT=R?%BB+2RR@8F22TP#!$D&#_OZ\M-_H&\)?643R@\@U"1O$ V# M ?HV=6,G0_U2.+0BCYW!'*"Q":/[('0K"X]DIL%#7@ )\ >)E3;FP7=/1" A MO#G],[H98O=$PORY)KTHDO[536N%VHL5U[E"OU^TPLEH$LF!&:DW%\:N>$""J+O$ATS)P!.8GQW'@IJ$=^MV-C MYBB\3%!)&!+.52#I,,68 Y@B( ._N?KOL<&$HUYT. (&[7%1)ZPWT!-"DTFNS2!:YOJ N%-C]MB!%>% KIO MH19B.LQ=^O:SK&\9%G?SEP^,/R%T!\6Z@Y&K]RGWZF%=Z16% E*WVPKM!\,: M3 >'9RC(R(R8T?^J*'G-'H!,Z?_"7L7-"B^MCJ9>, G]\G]74='__:42.OI" MA6>PK.8E2$93"^] >45L1&$[32;3!':X&-68XL::C@Z!CB3Y_*'&>,HX55$V M)HP5%EFY,U'AA$=F1KX\-&2'(K,,G!4U3**D*V%PFX7Z 1\U3&B*!80JT42J2U"ELF91F&MEN]S%ZHS347/"YMA2ZZ4_VB*9EF>O_RH MA.CR$.-8J#N5917AW#.UHF!&PE,E88);<' 8=RNBPRU_8KOB.,)0[J43N9?S MS,-X3J'N(6+*',7,(Q5^FSGW: .:A<^A,KH!4UI ZCH]$M\L3$@EJ\^*Z@[#!%HQ5E M\@DREF9V(OXGID:TA;/,B&@SXWX0>CJF?"TPAH5B!G1 M((]Z367DABGAG]\-_M__?OW)Y2GL@5?]L_VR@E?.[) 3!0[5\N MHN='V/2OO$O#J[AQYH5EBL=HJ>J\\5C(=HDPZP\NACHZ%Y0]-7F^17;F1?#\ M<^*2 MED5(J%,(KY6*[426=W!M6' Y"3-R&&[-R]BA-]46N72P0]Q$9GG&3/2\5KYL MBY3Z5-H8MXKY3)T,.8;%=O/8+E$9EA=TY/VOL50;76#X/4-OZ,S"/LP$^2?, MF;:-FQR1)-ZU(OTFDUOHQ(O@T?#5"X^ARYYBH+G5'W\OQ+"(0,1UG)-;)[+) MIQ9,G\9(K(Q^*&Y0'G"%?XN%#%,#GLGR82DMKYGO)K$N /;#JM7, ]UZU.N> M%;3*%RQRBYZLX+F=P1+-L0IMP. "S0Z$P\420@X,HB48]U0+G.>P^C)=5HTY M3S8Y"NL]M"@L7/BX0K$^(=6C[*G8UVO>T95_:_Y0BC!_NWD?7FEGW9Y:>;FSL@=\[ZP%Z M\K+E%.1*7$?>YJO'+RO QW9:BCB@ZY%>LJ+,SR8.O)_6['QW3-$3_>KW?MQ) M[CWJ,7]Y=;+R$+KYIV HI>+0U.=:(DU()"?'#%5MX\N*)Y7^-F&3+A!8[I31 M,)_(YB8!BHSG%@)9WHYL_S,0*BV1W$R%\["YAB,*;RK=P=1P2-.+M5/\31K? M\/IZPF2ZJ%XG92Y1Q5 ?ZXOS:5#!X]BR%8O48S>>!V"[# =#&8IMWKJ=49,K)2'/N7?6T MU:,BO[DS1PL6K[D^ X ,E'X?JPL1182,[4YM($"AWI:P4FS9 ^0 )UAN-TA )"R(!ZJV0CD62M]_A'9@ZG^KK(*29X*-ZB+##D"2\P6NVRK M%$?6DM4EGU^.S-$[*R[N]<^Z6\I[--!XW_9RH'7G62]5J^$_IT:UD M,?*] G?#S>7OV,']5\TJ6%C9*/3M1%TD1&IY.D2_)4K84$1:E!.0'[BO3C:S M25LWT:2MXG"Q*D/TGWD4MQJ=OZ;S6C#W&,ONO%;I,J45DJ(5,Z,9\UNTHK] M" ZA:VISM4_TKGF^(L,0%2-(=E4;'X@9GR^!%U0X'+%*-F=:.F$1+?.'$?7Q M"_O65'JQH7FXA[6!TBT,Z*MNM99CY">?&EM2;Z(69FKC6ZTY^7-GACL1UD06 M;Y4PLV: V !1Z*Y\PPO%*45,C&A@JA C8B\H/#RP>+ P64%E0EYL8>PN;_6#VBHR4L"+GF3W>B#]-VK[3LG*[(<9-F+&HBSX$G[MU M*]%SSS,6A2'B9+8$WM"@XF=7%A>K-$W];P/>/$][ HF[=/O MV8FZ*Q3DH.ZIJ$MG^N34L<(P[C!B'*G/3](.NL3"/F=A+1Z2@%:W&:I++-F[D>O:L9^%V$!N#Q13),G0@D=6..:;-BP[YTJ.$YQ.:"!Q^7KS-O<\W&OXNTJ#('Y5\ M*,NKV CJ?,]$8DXTYV0]6MJPF4V%U3FBD?V/L(-7/Y?%R'F:9^@0YE_+R"F. MR=*1'_7GE-MY9XIJ7ME56;$::.HH1'TP?QEFN=#L^-D#VP&YX)WW;.'='OE5 MSPW1H24;^2IO&WE5+ED_3.DV&*Y;2<>R96S'HRAKRNY%H*9H@574O+M5$%P) M'>/2]#""T0^A@,3*1-@-AY:V\3D^F:EET\NKGP[/[:._HKL+>!-O]6*3O,A[3FD>%5\U MO\HMWU]&:D14!YKB>F3]Z);QR,*X8;R2@1%Y3#;^"&VK^3_A+S,=42!0=MWF M!:+XE[Q.%:(6>UC8[C-C8N2H1;=M O*B!"'[CTZ5YJI8?]I?>L_B*9Y5NF)+ MTF4+>2,-/K0 =6?EJ<]DH0X>(H;%/T" /Z%? 4"V:V#-J(U4&/Y[U?]TVQ^] M/\L*_CVB\-^1#O^M*OPW/^"W%$$F]E)U+1AI#T3)WE 8$>(QD+U\X"Q^!ZYN M8-@=G-5\J2?C">=AA7M>Y)6' MC3(12\"W(SX"-5&BNA&\OT%4\N)"3?F)Q]?&-EG*0G(2*YZ[42)4_\.XY/&D M6( V/D\C8XKBN5E(2M$P=,RT,5CEW/PK#T*P>$D.5#U.\T"AT[[1R&T(_+(M64 #T*N%>6 M)JQJE=?:'2U21KX5U2,;I$#LT5RI3]7)$6L%YBN4-V2 MU4A%EY_P)\*BT<(@%5ZD5,DD>PC'\U#2#H-3E/YW:IL;9.8?O.0:%S%E7;6H MN;.OVO-\D'("WD+H 3-Q$VD/RF*Y)T/I$4W.7*JO[;B8&*#4X@;D"\T 2B\[ M85)26MIQ*5Q:-$.3'<\TX"9PF5OJDOE)6AY\"\[6]&)!Q92;)[[ \KM6L.0^ MYK F.ZX@LF/%S%C)[GX4D18:$PLOVWJ0 7)K0##E"]V5/$2Z_SL\';P2&:61 MNLXUJ6K4/U.T*OH"2E-&M\P#,7C0*D]HF8:ZSL.#NG8_MFGTWS 4YKMI;SVE"AB%:O-)$I041(6GTS,JR=K-M%0(K_)CZJD M1=GT./][!)5I9 A9"%=A G:3>V7,333(,R=R^)%U(W: .>LH2]VC M;(K9N!W4J$;W L5Y?>5K^F)Z02Q#.3-TD8NL,H26K) ^QA.K+:,8^10;BY<^$V@JL+_0?\-F*B_C7[ MP29D@<8,%7,BE%D<@'G$OM$5YX)EENDF^P. M%0 L?D&M*)6485X5AH.(Z(-(2]DDTKY41#,&_1O%8O3_<3Z;@6" 5'])\3?Q ML,Y$][ M4B"3U:%7IQQ4 #YE9IG@EL@M)OU1*L\8==!TYBWV1=VBR5E^8JKI?5*%CQ>E3)",=VPZC"FVW'3R^5I@N%Y"X;(D7YJ=1_L MB?0S+^LUEI9-WU'*L +Z_GG8H^Z+YSKN4J0S^FL<3IUT(DD39;P\]0D;X(%^ M%RU>S5/VUPI4&XO<&^U,RDI2QUX544:3?M^5S^150LAYZ,HQ/K [;VEZSP@' M0]X_.[+X*TR,#.7"QH@]U],C]$O0W(.66<7[SC<8_ MZ?1: G'8PUMJD.U324OC]:V[ (89#7IO9 (/=KN9NHN FUW^RW1HFMT6!R[J MSN(9X6,MWA"-)1*W7YMO9)2G;$2=:#TM7T==2_D8_^%OVES>E+W#PUI"5)!; ML6%3-6YJ$52H=,7*!JRO[]XHH:NFC'XE+#IQ9R=40QZ]!>K:9-%YLHY[3/A M>2P?7W9H: J+S"]Q2;(8H&LK=7XPKR%J0\M'EN8>M74Y4-A_+6VBKI&@+J ; M239 %WQ%^/5)%\X6Z"*U)X)0XC1R"]S(<&.O'BBU7F &+X^ZG>A5F$_E]MZ3 M$2@4FX*P"3RYIA<+^UG&#.'+9"Y!6)=I*GZ,QHX6^C#F,B?$PVY4O#W5(P5U MBF!JT[,M]'<(2V#*GYUE,&GQ1(14]D D#I[(RE-1J27Q0G?!J/+GG6GS8I$8 M;"5209@(>DPTU\&QQ<+()CB9RU*48K7H=<&M*;HOPN?.Z_XC.)"LQKO,1_9> M= ,))U:VV8AR!JTH&9!KD.&[X.N0RC)@1P3+TTZ+R'O3*%*IYRJ2&T. #"'U MVP*7B #9Z>6)D7RW982I$D?PGLTLT+CSTKJ3DG*12C+]?K9VJ"J'8LU8*=;D MMO0T1408Q>MJ/5? M2X>I8E;\(C0^NVTN)'7[4DBRWG[B\H1,M+F@/!/C8QC/DQF= 9P;WDV8!8:_ ME<)8>$LK@AK5^^4C1Y%"V9$+PGN!N2X@VBQ8V/3P,][!&%C,;_KTNN!^'\M) M ;91IY.PD1QYS&Z3%X&%4L=T24D1F?WA* @@-G&9,!6ZZZ)BQ?P'KST6M;D- MVY_P.(+PM_$QR;'UAJ\4KRR+6QBQ6Z^R2R+;(10 ,7..U\"6Z>H4:"TR7WD( MAK*SJG=SHR"MEH@JB ([HL@"/VM3?0&_",1X\DL_=='U^D):8!01$>+R OV$ MV)^=N_D2OM;H.ISE(A$/N>]&=7, 6>I0)YBYB=):QW);,-Q3FKYKTI/,CW/P$_M0Q9"F$/HW560HZ/6%M>H(:5+?V#Y5D MRUH58FGNJ68C):W)WYREOS3M:^_*F7D\I_\*^UB_Y]T@0#3),B1W1FE#\DY6 MF)WSG_'3-6D(F:UHD"\^7]]>2@-9SS@Q+J[_=O4>1%'CR_GG]Y>?KBY^35_& MZ Y7!^/S.;1> [/3@1)P'RT/!"#7[^2:WWUAFIHB+HAHA'Z]E3XZ_,M$&*OO;N34?VPL%6W?>(P11A*K:6A&+8O2E[ ML"9<: ^_DQ^3Z,HE=Y1]R9/+ Y1!!_"7I)C07Z-FJI@O[?&8;R6,4F:O8+]Y MBOCFHHT?.VPAY\A BU:V'06K1H ",%6JG)*YT@]+,E* 4Q.3#:F;1M_=9] Q?IEKP/9*AY)%K0HYKN!29MQ WME@@8%&_G. MY4U]>#@ /2$"1A\9CQCUEW=4U)6*&<">.[+ILPAEG#/L: M8=[*P3;07H]@ MRN@[48Z6ND9'$8[1P%,&TC,&T*-2!@)U*S3TT@4.[_O.V(*>C]:U7/ 6$$NN M%8+29XN8V^0\Q Q%9$/8:R%L:A^RVA-0#$/RYH45%J[O6S0!-"\D9H]D)&HE M)*%W70?N(O M!YP $II;,Q%$&6VF.A)9.+!=O0Q@CO+&0RB1$=3P=)A(@F:.9^/>PF+'2+,M MX*5 D)*PC8@#IP9/DA^I*(O2/UJ$D;6-3Z+0GZP=UZ*?@E1T(N<<30<)'$[N M.U*!!X)MP&PL/.4*#\)JDN!=1/ A&B/>N9DFS"&)-B6N^BMPB(L-K0-1X0K9 MDRJ!71-*4N'(*K*[4S0H>^\23(FP5R=J%ARY6PA5__,7VT()9FGO'X%N*!8/ MX\XIG5W$&+:H\3$6(8.=N/F?/J@$QB>\BDX^B 8KAO_LH\A**__TOQAQB.?\ M ,_;E%I$#C$T1X5#"OY0.FQ-L'T767Q$UE*LV9DGD+_=4I6Z!):+R> )1%"C) MI6CE1KRWW3MX%H0>%'YDG82P:=Z?2Y.*9SI)%IVCM.H)]I2E7F!&O!=@UFZ+ MYG'2RCE3&9O0 3LTNDLN _AA$!;I94#@)-EP8TV).7-VXI/>9,H8Q$H3 JH4 M$?;2D4K(G70^"M87D!16G^ U+14':Z.X45X,:.8""H6%3SECDNB(-41\;RE2 M0Y1$OQ2EAOQ+@0^AW$EPGKK_[IY7("X>AR 4LLMYE'+\W^Q93FDRQ^_4B462 M0E2 +R7_Y3[-Z<.2/DM%N,0[L@KXC2X;$A*QZF7V%5MWL*N8'=H-)K(H51!'3P/H^4 M:_2H-"Z($GN"3&%>%?A;J1V.=M54*LY)_Q1RFL\8[8ID0RL@@8B+\@XOSNZ' M[N2TPU<(7NH%/Z9\EB,^"ARS5]8WSD=ATNG4'>. M%\1<*8>'S;.@7Y?XV.O+LZ_7M[@ MOX4- E&*ER5T#=M\DC=3; >%,BV?;*'G$6\E$4F$#C3I7V0Q9QQE2HD*K'"Y M@7!!_+8PGSU0H-72ABU>VTTZHH70[1DH+1G4L,.63LEG)?\BCT M8L8TFH?#>MSD6+5%C[Y'IKQ63"JY0-'I!!W""X^W"J&?A>!Q\X!5Y$(CU;G2 M\!<8_HOY/)DSF, 7#\1]+DO"7P'<'F"*IB,+GWJ$0O)\7@FG0UNC'3R*_ER?)U[0 M?K"PV(1+_W;$S<)&E.]R?2[B9HT@'+=/U#?.:0#I1,(JUUHS5R*"OX3$B=--ZG8Q";)0#N:.X*Q0][EUT?*U33HS*5_:IHS_KPYPV\PF ":@00/7459>A7$\%[D4DF53.0OI;77U@) M'NN7H_H;X4M2()(!W_AEUO0Y;&:N?>*>( C2RA.%EWD%<9*F (^>3*S@2F6& M$4RI#ZQB-YR1+5P;P;8, ?C"=]L)@L4NJ]D]&5:!YY3B2RZ M%N*N0*I88KF>4@,/,$!8#,/;)90.8\&5'-@CLTFF6SJ1I,X5D=B;9*]" M4N3V8,0Z\;DOBO"1*(S_4*,)L]<7)A10FHWJ#N"9]?*%B*R^+\IW M3RE]QY>Y%6%GE5A!JK#L2]YA\EX;$1%@6164CY7*XG(!/I7_FYCD284AE:<> M*%F(_8#%MXWS_&/"!3V8$\_-.!^>?(7>RO UE*@AW6[1ZRBC2*HQ/#4K>\B6 MN@K%JD\RN7 )"Q$= ['_0U0(R,QXNW"GM*2(VGAV0O^T(SMIH.I#.6^K]CIC M/2IEQOS6O\98K*#M.,_VNX8++Y2#$ 6.."O=?+KEIBPD5_C1$O=-=B&EPG4+ MX<[$Z&3 C6@QRN%R@HXUBT_QPIM$,4$R;)9?T379 ;E!7L0E@ 0BW0%BD=0H M@TNXH7K>Y_'/BMA1P4SP6K+=>S2'IEXDQ4H_P/Y 9B 4RX(Y11F%8J[QMGS' MW_AW%MRZ[^"^E16PSGU1?"%71NS$^D">G,+="&(P##YN M^YU?.>WX_(1W8JT/@IH9P^7%>,20A.P0& 5FN\O )I>J>0W7].>Q]F26^TH&4JU)!@V9M1K_=A_]QBPU["&U'/#LY,97MBZ/CL&+4+TJ4 MPW68PQZ5/Y+OQD>JJ>]1R2C*?9T7<5?@0&(A'M'B16=*[@M\(-^*O$Y\[/3PP(>)'N9%&ND9GT<,D?V";&/5-6(H19=[KYMF ME(&F]Y9OWL,&\E.[G@FH(BTZHP_Z,!FR'CE?SD%&F=8_N1NSP4EO.A[V.I.SSF34Y?=T%"M*:HB_?'C 3#AQ/4LJR"&N7_.ZIN99 MB"LH'C+*,TB7+5DC=D[H:=/"NYWPV'OTHW M(_&(X"RR?44/9QC6C,H'C-G(X/D%-O6RK6ED_"KV2MQTI)B_O.IV-\JJX$3W M00C2?T?=Z3*E.V69!_4!Y!S :8G]1_",;_(+W89N9N);!JUU4K06^ZK\@EZA MND/5-/@',A+.>_U%=HPW*4/ @M991-")>D>!8XSOA>%5UHEO12< M0D@OO4M*_E<3-JXR*MU\X]8PWQ?>HQH%I.)[&%_. M!E#5>.*KE*^5#8US=.::*R7"71'N0''M)O])5>&X%CSGH76 ,6^I9BWE-W_LO189"2(58H: M?=6Q_[ 4^_=:G=YX/1'61CT'>RX5P4:W%&STJS^QWFHQP']^ !D]BP%_+J@= MC_*UXU%.P&E%,DC:^%X(,W+OK^*B_JIA$@>T=M TIY2X L^#+[@/5\X60#,J M!33#46O0*7#='>3>500&O5)@,!YMC ;K-FRM +$YN,M+O^2=L/:(R_MV-[T/ M*N"A8;G+^O2LU>L/:N&AP]WS:GAOW!F68[ZSS8^CDGNNZ+4[*&4\6/M4>=5N ML.IJS7\^08V]]@CH<>HNT2F8OGCY2\KI]H,,B,Q^7>EK9>,[=UP*+\XZK6ZW M ('6>&S[V-6*;N/AN!0B=#.[7=6Y8RMOZY*<7/1Y)6]"B!8AH+AU,J#*5RR;?: MEFUV]E2T%2^4H%9ABX7"F>Y*8*R,=D[$P-;?)$B=! _9>\>[Z&0'Y>[W;*L* M )6[+;LB4#0_KYNV=.XLVT8#X -F6HG6D[QOZY-HPJCTZ\)@,QF"B6Y+OFEA MK*[ZM6)<9#\FC$UY=P?^'D.\5?:7#NN IX*CAM0RW+964&D M 'A,=+B!D<.NY&'[+-G!_ Y^@CNU=,*L*-/F-<]HDV0O,HO%=BIL-2:RJJEJ MISE]E"V8U(C4J)"'S%C,&5].65IA_7#[:/Y/8:!KUI"5!167ZH,MI:JLQ(5S MI+-S9_I1MG7+"1ONHT=FORT3DT''/-X87BH 0;07B/&/+$*6/,Y?5^7(;W4N M94OR)QY2?V&D!Y(/A7GTO?>#OXXO.L/3BW06_=H\^G@4L:*H984P2(5M%)!L39MLB(9_^33/_RRN<^9IPY70$HRH$YAY(QG;+CT PO6=X M25E8I6^%41$(=.H^X4[\9L2K"<2CA<0Q#$?M3@=#5U;%_53>P0+I-AS<=T_N MK*EU$@MDX_W#5X47M3D#I,(J.5O=Y6>O==L9?:=$YZK_:"F=JXSXU')71:4* M5D1Q%CB&3GLT[HU.S]2# %HI> I9@73[.YENIYU9?Z=)1[(S=KRS03%*!2?[Q'JK[]'B\%V> ]_9H%Q,8;J4V[H6=;L7I,K21WB1-9Q&:H4#C8L:%QM(\[*7<8'FZ%6@ MXVE?P^,1PN-*@3PN=1^!@*U:[$]"FW_HM @] P4M12_GRCC&V^%8+H+*!.30 MR9,7F=<#K/"\AIV";P0O#\Z&*N#4#0D'C*UT/B62E([(^R\A U M)#9)!.X.-[%)YS@,UHR1$IS?YLBJU"4("RT_40/-X%G&EQ0\M:(342 _)WQU MN_&[V64(2@Z:GS1/,%6BS.]*$'@O#N$/<0:KB_Z>G?;*8<.@0-;3EJ<@V;:6 M,WY1-!2_2ZJFH6&Y_-/>68$J%W60T)K.%8D_DD5\2P1'Y;6RWZA.8]0PHKIF M(LE2<$4K)Y9J.)*J.[>R*'2J_4BW6 RZ[CNR8=^1;>FY/ETAVF80[JBIS*&3^(^J $C9 ^;; /I3P_: S%AW*/ID_K(>E M[%?VWIK!#F!/Z7&+,$<+"[TMKBCMVY5Q2B]YW!&[GSI2J_5,3E6%GN#); M_RNU4(?99"9K78H=O:4VW->S&SHO+DA\H7YSW4C,/8MW/,,-_!78\PG@#9CY MU=L 0)1W!?&35[YL 4S$7JQ&1;%]K&/G+F0;!S:5$MZ%ZP=1NZ>/KI^?U#S( M[Q%'.P827+ACCIO1'RYJ#83M7F5'^!S,A:\0RY>1;-V]2\E PE@\A7[E!YJQ:^07_-.K!8YL/7SL?W_S7X^_]\+)/Y4"3/ MH;>_%(9TE2EI3AJWQ\.?\YS8HC)'4A\,%;M.K^2CO7%[T!V/5S\=!<6>O7J[ MS@37*[="\5RI):YY-EKC_D*2T].-;>KJ8K!&+2B15T V'B:\KKQ]F+*YWCJ; MKG6?H(P])_.H9\0KLV^2#$#'TMON3.I/WLGT&A3AL?B&'&$.SSS0A[@;#"J14M+MK[TABL?]\<%* M(%;S>\@M(Q.7\[1;L3Q&@SS MMJ8CI"2-AR^!:=8GI:PHZU<)+HZ'Y5J#]#-J#3?JMF_ Z98)HMO.@K?O>-E\ M:3K?.;G!A5'.>MEOK/&QEVM\%!2[%P]%&1E-AFF%L)- GVZNHZ]<0'!WG%5Y M=!.Q;.>6\&ZO'@/(RR7%O(NQ-#%VRMV%O6Y)8BQ(2ALT%=W"9--IQ URZP:F M79<2T5G-H/4S9X]D#ED)5S#HX1W2)H+\H6WH84#?IJ'XY\YT'2KF@6*O6TY! M&&:%Y==E.%G#V55#16!>5*'9O^'/^[_'-I/<)9@HH/!/+) M]+XSVK$;-EEZ/!XO%8$W[(_+ESJNH,YQQA[\9TYT9Z(S^^?KVTMCD!L+FOAU M/*AA_:]'O6ZW\,^-1-S>NM_S%7XZ__K?E[?G[SY>&C>7%]^^7MU>7=[$.WFO M"#G=]&A6%6TN4'^Y!%F>/YJ6C?3WP?5NS#5DB';.JBINTW^GH95Q1;N!TC1Z MO?3@&GMD?L!S.0!+'D)^ VR0*Z78?L789L(GW+1=4=*B8>Z2/\AB. M\IOC,9Y7%I-E:WK;[Z;E^)IN--UL^+:/E'6H"><(",?X8%J>\3?3SHY6R'7/ MI?6#%75"2LG?4A4:C'ZNFS R=H:?PA0[CU$:]*^\)@'JSKAK-W/7"TYNF?=0 MM.QPM9O2K7U/-BX@G;? >K62<$/B339ZQ=@K;+/+.6V5U"ZH3?GS_ &+QREY_7XF8X+!?H,VB-NNE0G]6'VQ 2/'(_ MJ@8*#12; L5DLGQ84N7+WSW7]R,;._I->+G 6_-'#H2<#LMU2.D/-7XT=^H: M/QJ/'\V'#W2?K86/TX(2R+^8YTY-?R[B+GN_;19IO.;$16A<"3I(%=%.1A,E M2Q)IM-!H\8*EC3Q-I%\NB1@TD=-TYN:!2Q)U>*-K,O-LOPT7KK= YS.#X[\+ M8F'1&/&,DZ1*\_"!.X/?+%S?6A,%5K61MQE@NV_+[MZMN<4@+*2G]T!.BICB M3"\46KJ>O>>4M&.+R^FH7'N;?JN;D:%>KV7[4,A>,[-FYNJ9>3NKR&![V0?/F5611/U]0R?:@[V;=6]H<5U9&W1WZ[6:OUL1HU;U- MU>W(_N^ ?)S_QVG%^24EJ_&/6IUAA=$.Q2B@(82^:W_I0:Q*0YV&NCU"W5:V MH>&PG'GW=*014".@1D"-@%N8W>H&P"+&M>%900"L+U2F$K*H):!FO/N &HUW M3=LKC7<-D_AR XG*U4L8M;I51O8>B32W@9&SB1BW>37-CRXPV_IBFDU<;%,2 M0L=-<+44V8G#.S1-;YK>-+UI>M/TUKBI:WIK/KV]J*3]3:LRZJ2_G>4(-=A8 MH0NI"$O$=3!G'FJ#.ZGQ6*Y VUGKM#=^054:KPX9KPX#K@HEC_0+%GO1I2 T.FET.@AT:I0TE1M74RZZ&C2[ M\>D+DI2.KZQ%#34S#QB+=7[?MK5W=FF/.AT.2Q;C&9]MBEJ'1\2:_QK*?P?! M?MOE*73+E:8=;EC$XO H6S-E0YGR]6%S91'C0K^D^V9#IFR. >&-YL(#X\*# M$$USZ[$/2O:=Z/2/3AI]42$LI4I#:F/F"P:P5;5S=AK14;:X?*L_V+1KYR'; M_33;'C?;-HAKMVRA64[Q'J0%$,W+FI K$,S?:7?5)MB],^J)O7HE&4LP)LRV!;_\Y57G%7_C7U[A&\D\*^9?(EAJ MZ[(WV$_B)/PM'AINGO:T[L+QTSTMAH43P"#F96X8WXF1V,[ ^PJLZVPB^_9 MA%#.Z'=;!N#A.-I0.6YQST-_F/8\;' "A7K#UD]Y$@)36P0 M77ZUOAJ-?[XF+TU>];P:C2I,T]=QTY?QP;0\XV^FO60KMJB.$@P%A5RI4PU& M/].H_:.A;HG5?7IG1KWY,#238+-P1W9-_Q<%MNV+%2@"9Q3>*:Q ][ M@9K$-8EK$M)0<*(Q,+%=M'7),,/>AJF[#:%+C1X:/31Z5%>H M;[R;IGTA2W86/^@_"D=+!P@7C$-:6V)/0\"^E_H"(* QBD8.<_=*-A &Y6(T M.C;EXD55]:^A,YXN6OH2:ZD(""O7M&1G-I1QR=2$5F?TDCJ :F8^;F9N/"]O M666P7)_?#5N :08_Y%5I!F\F@Q>R111MY%U[TX"=F2DTFQXCFS9>J,YS)9R5 M+-P"%:\VA%6WTN+'@Y)=_G98:+R!3*#Y5_-O0Y3TRGI];$\U:<4\6X'7 M406:"YLF\>;PUZ!D_P 0&ZAX NJ[C';3J*LHKB M%MB9;>.T7/> 4:LWW#14Z_B+*VJ@TT"G@6X3I7/_AJ'^N%PF7"]MVM7HI]%/ MHY]&OX:@7Z$&G+LRJU5$%-M'R&1W - 0IB%,0]B^--4\FW^_7.0M**?C"N/K MCT0\V\!>V42$V[QH)7:E*%"SLHF+;4K*YK@)?I,B.W%XAZ;I3=.;IC=-;\5V MHK*(@VSUIT&'K>GTD.FT\8?VHM+QJRB=J%.%CK(.2OD->#DE4E;W-JPZR:!< M+8%AZ[27CE$^WAPH#4P:F#0P505,6WG.NYU>.==YOZ,!2P.6!JS# *S7AX%8 M1;S=XT')(/?J\*KF2@]U\\*:OJT:XC3$'2#$-0GAZ[2OFT9HMCT6MFT0UV[9'J*D3S'-S)J7-2\? M)"\7C1'8+S<7*C-95 O7$0(Z0D #0 -E\-QKNF2[ZM;I8/R"Q.[C\Y]?_KFT M@F=I)'@^6C> KK2[(1IQPMBO,6#4*5>5OO[<@_QY!7XDF,(_F^R/@^V9R;F,1M;&PL6(<=K'@VZ5K'.L"H;I Z+:WP$ZK: Q*!C;W6MV.+AFJT4ZC MG4:[9J#==E:I03F[\E!CH,9 C8$: [>+\VF&:>]T5"X[8&/?6L-[6QQ1Q(^& MS:;ME8;-QHF.N?F%Y77C%][K<9WU])?@SIT^TU_P1/ O4^M1^8/OW>?E _.L M2?3YG?<+_#_\74X46U>=,*+PW*F0#OBD]BP#AZU3>/$ MIA6CRO>]#M E4&5QLKN QRUGZ2X3U_07S <$BOE@6M[?3'L)-S8\?@MO>F>[ MD^]*Z.W@E<& )!?PNL!;,K%2I"MNL.4K?K*FP1PW(]R=W)/-WCUY6-SP/34F MMND#0RSN'?=5RDW525[%$]A6YF52F/J><%2LM^SRB!U!/2L)9^[))^>N9_T+ MAC7MCW!\7]F#^\BFX01C7!3RF.0>\2V@8^JKU$_3G"J^PF3>N2?(35G..SC= M[\I.W;.3._SHY(X$LE\-TWXRG[-:N*1$&GB%:/66: /KV" U M(?C]YR_FVP0WQ:AA4P*06P-KMGVVP; 43 @\N\)QG M2MU*K]Y>.4:$J 9"JB$QU0 4#G&%OSN^]YLNH,R2LV%0+EA,JLS"/S)8ZNW< M=/C]V^WQ/S_!XW,_M6SY[_C-6P7M;4[^VPD??.L2/LAMUK-S+JA\^=N0T1K^ M,=*45(YWMIKD[S!!&(;('20_(X_(53+(@_U^VG6?1R]*6&'5 K"DX\QVGWXUYM84Q.?,D+>]L_9V1Q:Q M=C^Q^@R:3L^\1K1'_8!O#&D)Z_!=G_Y1G3[9=Q6<)BD&L9JMO>DU)>R9$I(J M9;GM$/_&(4,C!?_LT?0L$_ZTL6/1TF-^SO<34.,27\7[A=HL@.6/?=@K%P0"3P[^Q$:)W1BZ(6IW)_+ ?D%QP]^;TXB_![H&,SD/.;6O[" M-I_Q:S0)&?]F/2Q<+X"]6X&_FLLTEVDNJXK+Z)[C%*E<=H(V27/79WYL9YX0 M8XJH<-TSTMMSO2C;&/7XV&(K!J.?U[TG6\4+$7H+H>\]FY!OR^AW6P9Z'%;K MNY4LN+O)>FNZHZHQ[@A+-"TUY@^-?1+ZV?)W9,V6)))- MCR?[C"O+NCG+S+K1K*]9_Z6ROBHM7%-*"_/620W#HKTBMV;\=2?LB5#(\I2L M>5_S_DOE?7G=2[XO=NT/^P5S=:NZ]O,2"@7S;Y-FN%(>V)W#=Y6YI0%FI^W: M6E=G@M5VUS7;$ ^!DB$472672GPC B@H/"KY73*UK*S]MGZ@+-?H<,\FEV%_ M5*[F83?=N*02"_>.R>FP+3P:@UX,!JTKH-(T$-K0>'-6KO3JQB!4J>UFYW27 M% W?:!#1(')\@DP9*]#IV:[,OW5;@78N FD0T2!R?"!2SIQT>E:P_N6!F)/V M+J)LWAUN(Q-5KQ/C03G:+G2ZS(KPU>IX& [GL.$QJ7JT=W-JC,9E7@E/="M378F30&:0S:,085LW7MW68U M+AAWT!B;U8@$PBRIK]<>YDLH[8:S<@W35'4[RF>(W5FG(UY1X3Y6:-%10_&I]/H:MJ:,9_J8Q?LJ9& M=US!6V?I!JE0.UYZM)KVS4II/[VSG]2P. MW*"B.5MS]HZM&IV#K/"Y4?" YDS-F?ODS%(%.#L%:T@UWE2PDG,T:VK6W"=K MEBUHT!#F7*7+%^&[HXVH./=]%M .L&E6)0'M"=T(:-;WW4TXG1J+-T08[X@N M(I1HAI)=KD_'<#30H0F:(8/F,61!I_]..7+3"HK:Y:]=_D?*G@WBSG*U"1OB M3].^=,U1C>.HDGKM^ #TVF+E[^KQ46=4QFN,CWIUZ;PJY>O-EMU,)-I=:8@& M>"L;5C6BW([L :OW;!'HEK,(=%O=3F4V@0(D('["RTNLN)<;P@PUE?/3@*@! M\9 !L9BU9M\6F6&_7'W 7C46F3505ZAZ3ND:@YM$/#3*X*/A4^1PW_ER50A\:VR:1>&*FSM_">[< MZ3/]!0\"_\)7^GGYP#QK@A^()?(_%G*)#Z9W;SDTB]^,B!!\\@_>- #OO->)I; :/1E04\65/WB0_]!'0:O9P& M@OG=?;=@+!P0ZU-^9[)P>?0BX#T,S@,&DKMC 9]:.'KR>[&E\OM7;Z^7'OSK MD?D!)N&%EFA]#+L\!@,D#S.0\YM:_L(VG_%K9$[CWZR'A>L%L'.A.&$YR*32 MD9#*=K-M8VX^,OA-(#]S9P;W6MB@T1L![&-",.%_Q% J=MV\3];OG3S?L5\_ MF3^LA^7#)_ZB9XP 50-$(ZGW-'X7G,!T?YTNO6< N%=O3Y/PJ.FOV?2'Q^:W M8Q3TF07&PF,G@?D#Q 0I70BBNS>ML#(6DL$JZ@5*_2E.CMO5DTZ$+$\> MR#21(/0[S/$=@\FQ6_-'GO(VB+E>.ZNM6;UQ"P@V+>14 )1PL M @?4:D;[8+C!' ;!KSTV9XYOP?,V[ WP$LS3G7R?NS;(HCX)P&>_&>S/))2XEX<,HP[AI.A=%B &LN4+Y[L [^=_29V)\<0\9DS,I0^3O7L&U%I.@B4ONX<; M; %) ^H'ADY?CKMO$!R-?U?.1! M'\;V8#4P,WE0@/IP13 B)%,0C\\)ZP3O[1-U/1-[.65TIC9S[H,YOA,I@$_U M1X D"BN *V<.8\=D%5!]R-)I.R2!FVK!$SC/(O!Z[-SVT$A'4*7 *Z.;& M%6DCKJ)%O)*XZ[>SSE1CXZG*>'.5N_SDI3JQ3;@79Q:7IR:F/R=)"#:3'B85 M8!/97^BB:6"\"%]T[E_ :RZCMUS 79>;UALOI7$:6C2'JV-ZVOT,Q+1L&Q>0 M):\+27T3V;SJI9Z66VJO/=QDJ=UQBXL[/HG,DS*5>MK&[1SO&;IL2DH!61L7 MUUM6&+J[G57J7S57_U83''8[&\S/*7+?I]0#0$>A'0"YN1.+I+4G"T1/%.%0 MS)LSGR74A#3APS I$A'0F &0*>MY-8A)QO=4JZ$R01C_9Q/+F3SK"U5-O') M:V1X!]W"@^]LT!45GS$<)0.^7*"WR5NR5U7#?:D2\*E1I!QU!Y(@_.#S]>VE M<9I[3R=^O>963_T:%.ANX9\;17]X\:@6S:!_H?@_,'_![CW&3&1I8 O9 CV29S^2#0'LFFJ309.#_ M&N/ $MA[,YFSZ=)FU[/S!W<),X:#=>\=O.BNG+Q3Q*OW%N_F-$0/QAD0K=PL M&88P(VTOHZ07KC#$'@-MS :U%39=_DW%@!^&N0QJ MS9MXCT$*LVWA%"<:I-'_\JK;Z?Q,TQ0>[IS,GGCZ3NA<7]/84*R@/VH/1H/! MSPG_^ZML1_E6&3GI9B\&AWLC"^ISXT^+K0OT@_Y9O_"R8F:&"4/KYHJEQAK6 MQ.>N2#PE%[ ^L4\>7:<]ZI]V4VN,,OVZW3H6O$U'R%UZ&S>U+HE=:))YJ3[3 MT=^9Z1F7#KI9!.GFN0J49ITU<.E@=#H:-1]]$DS9:9^=IODR'AVY9NF]<7LT M[*<1JLG<:RA4DW89%:>7W$353NHZVVSC2]]YG1U1G9&I,;V^0I^0N_1!9//? M[.8ZW-6*4V&YE7%9L96/TQ#3B?-9OR(VJX88N,9B@,JR$1D4@9QNNSL:G76/ M@@K4.-0722=((<;E;,8FP6: H2GEI5'*9Q8(3^&,_XG@@HH*U\=KH)[L#3IP MJ:X@=1P.741733TBQQXQI'(JT"A2]K[1U+*UKG@XF%+ZJJFF=E$UQL\UKZN3 M'H6AW_@ P PS-B;DS)@\&V1]LM.>A)V93O>_*<7E0C7!;/URF[=2'=)WE#;7 M9)[ ]B2FMQ%8GH=8&;J"O\"! MX#=!X%EW2_(!WKI?3'0:YWJ)RQ59Z8XS$BDJQZ]L&_IF"?\;OC$EJS6#P@[N MAM#8?JS87L /K)&],+(GL;P54XY4!"T5EWS<.*119G]ZZ[CZHG\K3KI()Q*MMVK0T*"Q%]%D M"SUIL%O)I'ZY8V700$YD !PC]X.+_R>J61,/D#/W73';MU1BN&.8LE[8"9S< MB6^N;'*T^WRJ@S )9EQ;ZW*ODFW4M@>A4J5;JS351-3U5]?&S9.5#ZX=I0"= M9_GPU7OXIW-?,+5V4-)I.CBM$6[2);7723+K22+9;"*?)[8U**Z6@0Z4&_.M MI'4Q:+7[L;)1S,[8<14C=DLQ8G]%U][:S:-KSQF;L6@>:B(/'>R-)D7K7#[J ME+O0NFOEY\KNA4.ZP_:2^ENWLMX(F;+4CE2LV=8F5O9+5!C=%1NOND;/RG4L3//O[LS91RZ.:CZJV_#>_ M9G.Y.)95_JSF0GH]=@6-Z1K3-:9K3-^I'+_&F#7L%LS/3>)Z9X5_M;G WK0L MK^J-R 7*9_7:O=,U'>)W&A]=:63TCM9?<^!TTTSI6UL$RIG,^]W>9BBS=TH_ M.L%1 XP&F%WXO->HGX/*W=?ES['^9*U*3NA-N%0-21J27@ DU8!(ZT(!^N6B MO'NC#;6GO5-S+$3@%]DWL5C9"ZV8V M0BN[E+VWN3P/C-A Z6D:&:MYE6Y=Q%'9=*:"DOF_TRUKXEWTS.@T,MOC83-6 MP_*S>N-M242;-:(33ZM7^WC<'@_45G3=_C"T*NZM%UV2[1^LZ=1FX:0'&T=_ MEZ>PG$+?12(&$[/>.$9/3[KLI#L'.>OV:6]XUCO(J>M):])>2=J#45>CMIZT M)NWZIYX7 MT[2\E9=?0QBNU%^,[Z]B*[Z4Q>9\0J IQWN[YRMJ)*CK+;(Y$D MM=XMF\C4<-ZB'$Y,JZKI5;+DSB[>I13RV<7KHF)!OF:8D@P#M\'I 3#,>5@& M:!>$A:6&;DR;[>)=-^EJ1IJ&CY.&([/;+@B+#*T[N6%4X^$N7HBFXJ:T5DN+ MTGOU4+TS;=.9P,_-(-6Y?%2;6+G_=1=!'[' *"V3KU-^S(W-B0^IW/ A;L@: M5^6:O=ADV2DUN&$N2F-EV,05,@8Y*15XSBQ(^8F8*>GC*NC96N?47%%"SJ=Z M-2>K\YQ;P\%X1=F/$B0@O#E;$$:V?7BO7%&?9KW_M6D(U!!8'00"8$6U'*Z< M1\9!4)9SJ!4,!_WMT'"03H#:-Q1F&ETU%&HHU%#82"BL"=GZ*TI"%93S,IHY M:7 K!&YEJJB7-0+4O\3\4CE(0 9\:SPSTS.8,V73E"U@7"OX'S?"Q\E<[@%N M0LR^*5,\NXMD%1SN[LJ8T"SO6;[QK-]B5SFC6_T0=DTQ,;=Z#EJ4HVLK3VB MJSVB8VT#:XH-K!X^>)EVM9WNY5YM==MHGU69]%;<3\5,>H.S= W.?9OT-G7= M'B;[:A^(QG^-_XW%_XW1?Y].Z]-RW3Z&Z;"=9JHI.Z8V#<8:C#48-PB,"PKC M]: K#+VUE-T9-D[*;@;4UBYE;Y[[N0^7?$7+W%FYW;ZXI6O=WC; M'2#K;+^/6]YJQW%U%2KPW)P8AM,5X:^KKKB,R+!F6I$.0E\X .;6(*E!YI;9-(VY54;U5&1HJJH414GKTJA_F(B;TL+6$I#&/XU_&O\J MESEKPK/QU@4HNIT-^T,V#[2RK4K4^#;'KL3)=;UAJ1HA,]Y$;EW_I_@?R6Y0 MFW:)J@M&^31B_7]"AD6.7?VNK)>H/7HXP9'M% CNWG%?I6ZCR'Z37>]5/FS> M,^7Q]&L'_6+',_%OA*TQC[B&B_/OM]<6KM]2L"]M)72!^40UN M\VV"'.OMV\WM7BKTX%O5SE2EQR[5[^R#:7E_,^TE>V_Y$]OUT32:[F9V-AJF MNYGMO2597@A?;V]BIM0872GDM?=#^H/!Y0V@]8#F8HPDG '% M&8](63:7% 3I\;/;FT%/LQV1N.O?,6 !IXT!F M8#RY2WMJW#'#8Q,&(L64HA5ASC2@ 7]?F-;4"%R#V]D9?!F^X=EXS7Y8 1_O MC6'QU\"_G(FU,&U\^L'U \.O/ M)6S,$O<%5B5^KN[H@_G#>H#MI^'@=[3%=S[S'@GY+&>Q%#L-YY'ZY=))_;9M M_,&_-M77S"WFF=YD_@P"33"'(3S& '(?F4W-^OBC+?SKT]R:S/FY6QYL9_#D M&B;,&<#)MV"3\(2C=^+$\+=P&P38S4_YE3JW5O;JV\9MG+ZB:=X#>?@T]!P( M'K1Q/&G7PQ.#H?Y&Z77!#]*#1 LM,B), M_B0]*N_0F"8\ODGE&DGVXOMCNT_)G<%#=O \,^AXJU?WPU>+\]WFHCVGK?S$ MJ7=Z[7S%9@H ._?O3-_*N'M/.YW$W4LOM)PEFYZ#QC,9G X'G5[_[&0R[-R= M#,YFG9.1V1F<3#JSV:P_,P>GDQ&(/L@:U!D37@7;YC["0>,1&T?3KN#%15M;,J>*J6_A0EV%*36(O M@L3^AVM%7T@KV@6A@29U3EK4+E[V*5)K=_&Z*ZE0[J2_(FE7%;^I@+#!U=/ M62;<7]>P=F4[D6%UV\%.%$6PM]H$0 M@J9W3>^:WC6]:WK/#70=#\[.#I4.-+EK_"]!P*G<-X$PR)GCP;[ATE_&-9BKJC!O9]T/LI*K.;5>^I3.[* MQ=6)4L7R#;_=W'H4V/!\[DQ_#^F?)Q?^(Q6!%J4A^AE1WWE5;,\ZY;()>ZW! M8+1A]=J#%IXU@F@$:0R"5 $@(4APNS(9>;O9F9(+(TV?VAHT=#2&&BI"UGZ M52)+IV!_YGH%EL,V,A4VNAZ._>G"]198/1$S7>^"6$:4,S4F.&LJCLHH/VK* M%JYO!=HTK4W3982KD-C> ZW=A*0&>'BA$-KU[#TGLTJ-08/1J)1H==;J9O2, MTSY6S=DO@K/K9.RZC32@O^Q$YM'LKMG]2-B]UHN\=NM)IUPGI]U>\8VVJVB6 M?W$LOVN.K]:J,6SX#7_8!H]#M6I0)B75[V-3U::A;]33LF'[1VH=GM@-EM>VZK7?G__]E[T^:VC711^/OY%8@F MN6]\BJ()@!LR&5?)LIS1O8GE8RF3F3,UE0+)IH@Q!# J&5^_?MT-P "Q$*@ ML36H=B6V1&+I?OK9U[G&0\!#T*"@07Y%7N,6N07X1K,WR8/'2WY8W\%U1"*:XT9W3ES M5G+G\M;G]B^$';VV%@0'$!R@?@[0?!: X V"-PC>P+-Q5((UU.F>&&N=AP_K MX QP+"/>2N;O;,]W= M#3)T3N5@3&\[L#E2ZM;M--Y<$'1N$-;3XV-:,,Q[&&%2!O(L.32\CM-DL./X MH6/!DP1/>L4\J05O5,'&(96]48)7"5XE>-5KXU7UNL?8=:MQ)[I5BB>,'Q(7 M[$JPJY-D5^SMA5 G/7"L(3&D[/L8DX9U[&\SD?4O\6?@'.E.X MA:4EYB)W-\FXQ.CB6OR6IS>6F$M9U=4@8@58S7==CQY.G:=S?-APC?.8/,>V M[@^'D\H:O(E^'_5Q@ MGPK:'Q!,:% @4>^0*/5LQ1#@&E\GA@"?[!!@P9U>P:!1,>BWTT&_)TQCP6AM M06-BF&_%8;X-)H\Z:G>="8>\RUE[?@$IYIR MF&36^6_J6&ZJ>RA7E"3X@. #'24R%F$#+4R>+<@BVNIKRA5]">X@N //6D(+ M$V2%!B%XA. 1)Z9!U-OD%M3:0VIMD%B;]UTHG?=;%$36\ M%&1(AS[K.:]# +E'?D'5@JH['/LYD0NV Q84+RA>4'R-AD='PSPGRDG,[!/T MWOW&!+TW1.^U^ACD=M+8VQK>RYV/@M-.8UU,W.2$8W$R=*7S.J$NQJSP:V'5 MPDVGRHAMUM-H,)YV/$>3#^H4O$7PEI/C+@L8&.=:@JXC3P3?$7Q'\)U>\1UVME-O4DRO!E2VY9:J-I(20P8?IV'M2#/) M=E8;6^M=TX>= X0HX4FKI+D#QNB!](0D^\E" M*\FR)8++DGK8!0+/14%P(?P%%WF.;KEKY+B ][&P//E$/SO("29Y/Z-@1S= M66Y>AM*%Y.[G2X1W2H8K.6AIPS?_@1<_;1!]B$$(2MJY\*%G2X]DU*"^3QS: MZ(](6B"X>KG1K7MRJ['<2 \(OH8+P^$_(>2-9'F%?@W_$R" )%5TLD3 MY"^NSNL.UKO&,Q3O'G05H#.. ( M'W7'0'#4L"+#6NU> M4:\P/,U8(G\A\"E=!5Q&9I3Y%]$7+77'><'THS_8.SSV$I:X-BS=6AIDB[#4 M'9V':5A+%7P120,98S)O)@C^>P@271&(,K 8F! MUN%6)2[Y 2F<0!D 3(']8^)[]C^AG >$8Q= 4;A(?+TR 9 AME/]-%/( SW M+RC8!B6GKX5B7E>%N31T :UB8.TC?& ] ?("X M"780'(LO8,_>W0+C_ 0X*8T)!F-U"=,202HJ[C&[XK"Z)8> MXO"9V?! %/'$X3ADNGEG)4BH9A(BGX.JB\44('D '0/48@,__?![_SS"[XN3 MX">X>\^MB8!S)7<'RH/N$OZ\#66IB4!8;&P3^/<#%C9TRO$ 1*Z]>C),DUQD M6/#@>P-3G/\P_"DQ1\[M]3FH,,'G1"IM$=X!$"]Y.)6D[F[Q;[3T,)^'#9P[ MF'")@A81:0_1.?#$,'Y(5PL5H-91^0Z >K0CV'BJ?])\">.>[=2.1?NQW0*+3A&+AK$QFD*E%AC7.-^*85H$X:C'%10G M]$P<(=CK3&U3B@*AEQ\C7/[YIZ$3/,UW\@:)B$L39/%?SK;WEGV6"#WMH9(^ M4C>X&;O0]KAYO,=3AOG%0'^_DAXOO?>O8V\57BTF1J:>@]^/'MQJ$P MC^[DO8/TKQ%8W*/S!?[H?($ _V!3NOFDOZ3-9XU""HL5_ I=VCA8M?[3W<%0$^P:PCP [*@S,PY#K20YQX'L; MW8.SVIDK:8%I!ZZ.E00[B1E4Y)U[ MLPL0W M<,O"-BS*\\"$T"%LTU@9^M!N&N(+G[M\4"0C%PHO4 _!IAZ-,RP[B MAH2)$@9?]>'_]6-L+\4<+OMX]GVXN[ZYE/,EFB% MR;*<'7%Y/B(:]3J6O!%'[N7+ OT 9+! SLWZU@,\)=@;Q>_/)K#+B%\1Q)"U M]W3&&Y<<<2R2X'A6-?'@S0%E 0['YOXZ@I_/+! -;KV3AF&@#M>_T-#G1>/6Q-^P5N(4"0KBVL M'>/0)]X^]5VOU\82.!'D+/T -HT,Z#N0MW!\2PH0LJ@]&"C%YRS7 MCQT$2X3EA0?]"2@FYTZ,48;K[F CNVWX*3T-"3TC9VFX>'R")43Y^I%Q(SP5C:][Q#6OC/)2;<: D2FE,.Y< M7K?0L .*15!<$(3[ -HGQD5)E0GK@7FV*\O$+Q\')35B->O^2T*PNGH"J0LE%:.CB40<]'K3J MC[;S$^8B$:E%K]CWMYG'QKY=?_IX9-K;># 9)<>]_;A70?R_?7(.9%K@QUX' M'\1X#UR(G$>:((,I7[^_Q^D-'K48 BXA;7<._HE$2'U[2,>[#Y@&YFGY\@LS M'>X/D[[-O=EY)-$)F"T]WIQ3G&EE3G$\DP>324I+_;UXJ'H\]G[Q\3,B(7:L MR RE"]/;V+O[#3FW#,4%ڱN;)&[!@XF("I2$04($)3\)A!+96R!4]UI# M5-E:( NML8)1$)T&>$$K# ?; J,Y0UO![XH*4S>2MA@H/7NA1T%SDWDEUOVL M0"S39+5ML VT45LV3>+;]#3I!M;T#52^2SB9$/27(N9A-J74 M1A#DK[]1O>,SK,1>R7O%>SY+ZMJKG1/JVFN\[Q>D.X>&.]6EMN1YU&7QO#4P MSZ]_TXOCFUX<;OH*KX8:'F2)^QU/YOD[=M$C( S>LIN^9WWM^=@6._NA]"4= M@TNCQ/XY!#Z_XJ=\N?VU3;30U-K0 @C>,TERIH2S@+#R"B16*%FE&"2(\9EV MY9U]20B6?/(%PR5;!LB37!F0L$%M*VF!^FPDC5E@3H]TX-VI7(Z@#I41437> M?*'YB8>R8."GQ))OC]I[@[W)"ZM8(X/P02S\ STGVVA(L5]]S8&B?(IC@P,] M&C_%9"E@*0:$"A 8$2^N3)S),GLU(& MPG@ Y)=9/=8^!C2!=BEAEOKL'U_(1 5:U/[8&QA'780@%WU,Y@T;R]NI\F1: MSMN0BH9UGU54/XEY/1/.A:.']3WU)V\=]&C8.Q>,0M]XQ65M>#GD_'WW:=PH MS/30K$Y'WY_"2L5J&EZ2SDKR R(%[ MA,#8!^(#0H2(<8X%#2!AKU8(<\.5$%X_K5HE_"AX&HF!"-I]7;1+DF=\\A*) M9Z=XPD>9:YRU$(>:8450HG9;(\9W_V<'1X'=,=<6G(IIDHR<:^LWS+N(*N?^ M9I@F=J5%^*U_TY[AJF5JN;!_+3/#@?JI_PA61=*T@F5)*]J5 '-+[)^3]MY* M DW"D ?[NG+\1;KH S;L>K@^#W-@PJY!"NZ_]CFROMV:QI)XD8+0-GY#X!G* MU;VX\[!PDP)Y=)TW>^GJ^@%77PC[JSZLV2'AI1MS.5K4:#8IHT8=50]A M4^.N-Z5II;P=\PQG1U;OG"+8&"W7R! M)++ZUNXQ Y6F\?I*;R2DB._UV\#$%-R-OB+=+_9&-$Z/C4<6Z9M]LHO&D_;A MR&]38-Z$9 MS6V&,SH\E*8 R.I>HNWAK_<9W#?8MWL'NJ;O>"*G FH,/9#?B !#JXM'Y.CW MB'SY 78=]MF*GPC<1%X;.9D8(U3R3V8^5)/Y$R5X H[9^X GU/AF*&6ZM.LV MR2N'IGWX8WT1'?BD< MJDQ.%T_X#FMYC( \1_Y-Y.),)L/53Q7UG?_& -R+0)+Y!2JD^L.T226*WSDI MW9.20&OI">37M]P=0M*G?6V!P+5<8YG"1"+(G9/^?0AQ34X%>:YL/EKRW7H, M[K H\>Q=4M.N$GRC?+*X G*H>E ,)@J(;UZ4E'C5%/0:58;QJ#ANR6J&-AN1 M/054@J8@TQ==8*(4UP7DV5"9YF;$QHS,(%O/_S57\NNF&4BM+)T]07,QD5AO MAGC]:27<\*X@WX::2A2II O<] _P+CP_/]6&MXX*!=/N&6K];I<;M-J9R%?O M$J0;27]T VB1PW(_4Y=JF:3]ATC&P@]#=/<";2,=)W=\2-J_C MT5H<3,9 ^R$)YDAA9DKK%2G9H>7,OPD#ROM][?U^\\O'3[_]8Z;^?#M*^7-V MV#[!?R+@M*EO70!!\%, ,O]E!#"5>BU(X8%,Y[A>4%HBT_0IE4@F\O2_G.&G MQ_LR!&L-'S C]89Y,[D?C-7*1)%WXEN"]4_'0VTRG_/2&;S4VN7A:#1M9=Y5 M_4N?P-K'TWZNO<=@%TOO8NG 8V25F]D)I=8^@J6/8?5\C <\Y/ZJLM?W N$T ME!,2(3XM0H*;)')C5@OZ^..3DL*7U;DS*1C?TCR:SYGG5.2.(:VX[>EPQ#9P M]*#I4B6PI.J_80U5Q)=39CC)ZT.$$=TP&QK,U?$XA@ZN6'ZHO MH< 5Y7!=>SS]V&4]HQQ[X!5JBBG,W1JJ8YTSD..8\Z M'\B3E RA4CZT_B&IH+?R]*;)VH3%1]4+VG-+$5\5O4#5RB5(*DT2)]\.;GG< MA/= XF*;3?,_&*G-K2"*9 M*B$>YW4J*)%""YQQ,)DF'3QI95CUH9$/LAP\2@FPU8Y; 4WB)$)X(#YC?,_9 MNS>"+_#/%UZU9A2P@5J4H\FHN'(T&\Z2+51K]YDP8@7GBM6\NE=E7EE[JCWV MI8QJ-O[F_/+'.")B_R'@XLK>X8S&PZ!TQKFF)DL6QK WD MM,*M&G"BQT@OZ+=1^FT-0,?"7'7 AAT,1_,53YF-55'>IG*)B-=DJ)3U;#7 MWSA7T[1&_5]:-QJGTZ9H1E5M QR^14J<.4$4L\<5*> ME,_DP.U@\O1^ '5L7"N9GDHK@>@5T;]CTZIC1;D_R1>?[JY__?O?+].*) MJMR>#C6?%!MJ[H-.S#9/S#:/8E;5\O8F8K"52N6-H!G.OF?(?AJ5X=*&FG0( M].+%[UL7F445M@C"GT4FQ,2Z!0%$$5K19]$G_W]N.("2/F(H?<0-//T"K]A\ M&2_@% G[K!XHD D3TE-05*3[144.>M -B^Z%SCDEG6>0\T!@A/MX1%89K!SW M0(JW7.EZZM11O\J78*.7^WW>P3:5R$0N+77T$F[F>O9.'4XGASRY)O.<3+PB MF3PV3:]I'^=1(< M@0G7#:4++JDLG*2 IT61+CAHK[K%:"W)6XMFIO!%IMFJ:1:91B:DJ>D3TBB9 M*L/9.$&F9=O6%^T2[#=((O0;ZY7$ RW7OZDPUI/EX M6\4412#>( >%N8)'&_VU.4HR*_7CSO9TLQ##G8Z9C@@(*FG2^< ],JDJQH0- M*]8@NY9##EIGK_P.FL=.BU8O]>*T9*5$'I\ZT?+Z[18_IL*0CYZFK#%)I&$# MR_H-!7-C\%1[F^KC:[@J1N2$QNNQ4,CIENA 6)9??/8W\1%6N]%W#V,X6@SVKP5.#X,GY"F8\A;-V6SPW5>(K8PY@:N0*,4G(?R,-Y' M,Z:)^AUT&Q.#E3LX!UPU[(Z9J9XH93*!)M.753K?:0S=O&DH LK,H:Z2 '?1"TQ(N:3G3*/ZT")Q!.Y M5Y+M4'MN/_[7QY_A@4U2:[O3>@P77\]OEQC;AU@=[A4S*-.-?X#40]**7X,'0MK/% M$YG@2X*R1"_077?W$.6J>+K2RG!Q\_']^ OJ@%\@TWZB[W(,]^OYVD'$8$%X M>(;D$//%E1;1'N9XVC;\=NN1U]XY2'?!$I9>#&2NI.4.#W#S.^YBJ.ZW^V1X M&TF/^"6(+R*<>X%O !RFH^!,8QWZ/NEDR:$$BM8.+V-CP!$X./Y"KG<,A(=4 MPA,"<,.1ID^%HHDU2GM94&'M6/%?FR-+5H3)3YW(_ESY6E&E/ MH2Z6WO[2Y:&FCOM)IO)TJ$W'*D=+STS2GC#7TF7SYDFC>VVBYJ9XO>Q\.!VE M['9?/3MIO^=IH6G0^+OZIP*3'J>EQP+[FW\=EX9>Y"W5RA:\ OP MI8?=0\VAU]#C'?%,X'/Z",=T[9_2%SBDB#/X\RY:4S>/17C&89C\/#_Y>30< M)P=K?B>=^U'.8A#1GWF$R%AFA$A*F[OO6NNRR[.DJ8?O<2%<"K9"\<-@G-+\ M5&7"<'DX32;' ,T7!0:?Y"ZS,4 AI8"C&;M.B[4@*M8I"2(7M1CY/5#TN>G ME1XG>I9X=QJ>!R=QD#$Z'^=DC$Z&LG*8,2J=^W.$B^WO*!TWO+]97N+Z9#A) M)*['4Z]>BX'7=]F:@86%16O35):2-A'!PGW:R)[*_+S-8OOKF,K&R"5O3F(.#^EMX3KEJXFS&I"9.M.$XV7&T@-+*C.>V$HE^6!;*8RP&.>YCAX!;;R!^/1 M6"%KY:K/W:&]W)MP8MV M9-S-#>S%N=OH5MFQFY,8O[_^]#&_S<%H,$NK72YU5)$J,<;DR3"Q5OH^T28YIDRP1_IR\Z8,Q?@:4"\ G$?P$9Q.ET]DYW_6R?7"Y[W3&79>VS.&/K MLR@/4\RCH*E:3#.\\__-.?_T,X\>=*3CS(#MU/W+\3/PY9@E#,HTKZE^JBUV M;5%+M"&:3V8Y35N +DJTL>D5D.8Y35V277^R>S61SC8M][0!^X7N.B$0,MO< MY(A]):<;6*'V-DD"!FLJ@V>7:'[3G 4;S[1IH#-&]#S32("2$,;?TOX,$N)ZX[ZWJ*>YA7;W]\_RWWZZ^#3FM;F%IE;K;:&D#+UJH!9R.A[*ZE2+>+S# M%V?R ,^QK?M,O)Z706OB$O)[VF6@Z-Y,\-];3]A:536EW+9KJ*[NL.0UL=72 M8YJ;KWSU?:WUYB>\LH.>#9:UA4JUU_TUG&=4^ M5"R<*U@'1#H*FZ'0^4$8I?K92S7T.3[:OJ"XH MNAI%C94DS7CU1C=H4[:/=8S-#B;'4GN MC_VML2M\S6_^)S_ZUP*O?QT,/<'9N&-?]3O#ZXM_*R7TL*Q\D5KU,*Z05A!@ M2?<6W79I]]9K(L;*"L5(+:%19*3[U*]1<*LV,+J,ZM(H.M6T:(!8V)7=>(J. MMJ/ERP1C2D;[GC->&T^)R%9\QO-Q*<5GG)+V5Z)=4!;:^<#,P;N(GA0/EPYE MC&19/:QK1$66#A>)VLEQN].YZ OE0W8%<.2,NXD?BA 4'.38;QV8',D5E<+ M6 0_XR9L-YZ7<+*!,C9I6KU34]0[93A/(EGW:AQ[V3M#BG=#(V)KJF:GA50' MU=*?=\YR [A-BJ7CHVYK*BVO 2C%9VW6@E2_(6FCX^FLUF%M>0Q:DOZH&R;) M+\=#58%V#/SSK\/;X7Z^[5#ZE12JX^FJ;C"I=0MW#_9W[(?A/N@O0.DN4"&I MTX*5AIA=?L@W+?1)[U>X?%F@'X"=.;9I?D"K'7GH1]N)/2#8+=XL<"6<"@K\ M*ZOYTW@^.F!3!7O3)YU9M9SB=_A4JD,OK;UA ]#3)HS02_$%U@0^BJP&*>4+ M):,_V!?/*-[@)H'>!NSW^PVH#00:L 4?'.Y VFWQU3I@-8$AK96O>""Q(_ / MY]+&Q9:+'7X20!H#_!^X\7-&Z9F64W"5,!\&DY0PKT&#L.[]F<3#4%:X?JL2 M;V.X]*A+= $I>GS=9F[$H\#'.A?(VF"N)5NL!F5J?B$B5>QT:U6H(;=? ML/ M<,U*M4:19X-92A?J&+C"+@SUD,-0ND@OTQ\483[7K6 O]1+Y59_N1:"*@10F MYY '_E)]-F1U.IAI32DIP2DZZ$$WHAHE%@3K':XDE@S7W>D6L* #/E+?G'N^ M[19R?N<$ :0HDDC7%CTW^)ENH5:[I1;/^V=8N:<_TV,^I[T38NH4>L8_T_.N MW+3(L);F#NR'HFT5"%WZW"NC6\ 7=U>J649F4X1IB:8(LVEZO3\&DM]0@BXZ MIZ9Y4!0(S$PJ:ZM*B?X/LBQG;Q6WT0AL0W]KH5Y(3<@BW2&B9TU8(]:/@4U^ MLJU@ZT$/MEI.>E9"O9:U511IN5^L@L>M8MD-DX'O,_LGU5 MK8/,^!*M26E//;JP1_1,"/3=0;>(O_[/YZO_^>E_QN]3NT4L$NTB*G6 B+=U MH/YVO[O5]MZRSQ+QN/T4\?32Z^!F_1Y%;D^^=CP-@5+$#[YQI+2P49B0$>9J MT&\]>YOX*G%I,JTCC ?\^';C^.<2V=![!^E?(R"Y!R:./SI?($!1V)MN/NDO M:0IC%&"D)0F\0IH M7:(Q#O&,W=*F,#=KD(QW^C.U71.\Y8I*Q8P..*HV3W; Z;J?RG1>K9]*2OE6 M5MZBO^!9\:J>-KM&'%EUBTGQKWW1HUZN6BQ:X$=/0%VB%+?67CHM[C^]$=+W MUSCH8.]<,$#<-_7D=76^J3J3U(ZG&%>L!JRS_5'8_"[ZJ$/=F=Z#O\.N![#H M3/^S1]TQP*H\AW7II,%DQO>@KAU^%3L!T)(]V-(Y+&))0!Q<:CO;C6[!O4HJ M".AGAK6"7Z/&B@>VKHMMS\!]\K0Q/$0>']D">D;XP$/#0'8Q;VI?:.V+KJ-95$7+\W%JOOZ*HJCZF.76JYL+>Q);7K< M%#<5O7W>U;%$X>H;2N;SMKS'&BN[,IWJL7C]N1JFJZCY7M>!G!*W/S$,JT@W M>Z_B$5%4>_9^;RBQ,HCJ@T:'%9KEIMQE4+*FS9DH64O)_VCP/#E!V09Z8W&S MMVL+E!HD84UG@2RTQAVF'63J'HU[96H_?3(*FJ@*XXMKGK:2$D;,D?-H+%$Z MI[O3G]]3!/X(JT@)[F0I->,)$RN/^_P]2TO MM,B@W\,:1YSFX+-53C(>+E*Z4@Q(785G>[H)1.R@I7UOP:,/-+*E[7I1UWP,66;M<"$.%98!DZQU]PYO)_K]):S_D^W] \'+@AUFYGRI M3./BE&%*M84_+H[DMF$X!R!,3'&D]2R2#;]BW_YR([D[^(O W2 3IPC'5J#+;^@#+;\3_"U\F1RB0Y.8!KM7-P=18&I'9(3-)+,#A" M=]SX[#UN\_)9"/3:\FGR*7+&@"1,6=8T%S8]"[)9L:_,2N3'RIFS^0Z-1UJJ MB\D(/2-G:=#"O60.;3 $7\984Y;6M?B#OS48GP)!W"]\O=RLXYF,&=.]%-* M3/33,D +@$'/2^2Z,=-\*%W3*J?RZ)>6?=P=^HU+5$'(TPG'Z-<"7,NAGU(& M_912V)?"U;/;1F2R<*)J16?>,2OS3',2KW3'@H-U@_8B*?F>ZKCAB8=,'1R. ME8=]NKF[DN:9]8_';H\?+L/M<[ )V>^7F._\='4G77^ZO/GE2OI\]46Z_>O% MEZN4,KBF4O:KGB5L 'D!+P,=$P\6!ERFDX1!:<0*^P[KE8L7"8C&(%S)VM\" M'V.&EU!7+5(7&JV;]V>B1L9<@T*'_R&%]GZU]L%B5H:Y"TV(6I>#^;#_(_IC M9SR"_FYY!1=YF74?< #7P'7IA[NF2KE?T+';DOA]AH081,5#5K%/QB7[ :-$ M$FW#TO= T@1%\+C6)J^GR@ /" >;9KFCULC.#6#@.4AW01'WU_. O V Y'@N M53D&JPY5^(.]DTTF8HWQZLKF80%B.%ZG:5C%TZBR,163DU]PL=JK+<&)8T4# M4,;*)<:@+0E:K\'R)$-P+<\X)U<9CV@H'?"^7,Z:+%"I-(/X4,J^QTSMPEI] MH%O(FC4\G1Q(7O)>PP*JO0 59CD%U45=RNA<437M?"S/L>JV6)\OUXNI.EJ. M%55?T^' F$_!^6#'1A*0E,5B,HV#E#2DT/$88#Q9V/WA4+U)$R9PA;]&>FQX M*P776;R*Q,<^31M.$DVG0R)E*2-19*7V.I)X)==A%*,6*_Q $\T*M:0N0%R= MN#H )R_K8;HZ*QBO3(]6.F6F43]G)H3&%A*^XM"JB6:EUC(@.I@V' >M[$YD2[9.*7^Y7,#A3?+O8+0IR\>D':6.L0"@?G6; "H$# MTB^WGVH'?)#7&]E]6IYX 01@R&T.$ #KZ31Y@_MP'!^Z!*%U9V-"2E;>J_!:;+S]4QJ,Z@-$"#?E/J28VZSYX/_FL;OH0>^UX MK\4)FBE[,.;0%>0J4%CL5>!P7F'S*SWCRCI6'J^M09&,[\1W;HY39_5V(FB( MM[H6 RJOBT3_B))I;^T=V[>U;FM<8E])AE*OXL-2-O$)>=1!]+/M9F6+C&=L MA6"3P6R<4_]0#OP1/#HUK?/U,8/4)F$]HIJ#(47Q[MH1/QL1$3FS;*'JA9J72=JI1/QX?3^&"K0.5'M/.1RC]MOSFF;<\9G?>)!W2J4M>:])2V MI7XR!Q40*6/L.5?'R.I8:&R[/"HUQ?SZ2O=^_9XB87W^?L%(^D59&;[_+(,A MSTR8,GK_QY,Q]^37&W- 4",?'%6(=88P@L]UCMDL\2F3QP()LV0#)-[.)A,5 MHWVZ*ALS!U->XKE'P>W=MR,M,YRFV54W-%&G-XL>]W+58M%M+7K2RU6+18M% M"Z;7W*(S-10UH:$T,X](;7S_\8XNJ1/;LNO3:V[&WOQN.QTNI:94H/(P7&I? MBR[.L\)Y=C"*+_T\"Y29BX,^!<(]K"!_75/>TF&24BTN:S^L:\-3QU MHC1KK&E@0QE^D0VCDSII@;^<#QD1."MP5O!<[D^Z_Q/C2'E++X>HE9C_)L9I M\2OI*H[3*I8^Q3;I=C9+9F_T?"J6H.I3)(*ZJIQGC,,3![*<3)H6E,+-TH7\ M.UG29RI7GLW*9!F=ZFS(4W2"PK9+U",+DSQMA'FA:,&)VNT9=*$,%XT%&=4=S M]-\.0(YX"FJ!17W;YE"'*>)/GRJ,?L+2_O1BY\4)[C7B2^1GZ7W@(QP25'U5 MR#/6*F1EFFP"(.BN+TOO ]T)^@:'+!4Y"U!D]A M>-BF)NGA(;9#BCY^]N;O:3U!,//J@J(;B8S8* MIEY>_.JY(LN%+Y>*7GAS]]>K+]+'ZT\7GRZO+WZ6;N\N[JY^N?IT)WVXN+N@ MF!9#MPC6,6#*[7*#5CL3W:ROK4<0:K;S M4^K&0BB.9!JC0*;IVPJ$8Y.G_^4,/YTLT]?^F'KB8J5\= AINB"HD5+SUY4E?73IB7[>B7!Z5K;#K/T6 7OE_@-: M(AQTD%1Y\&-B3#I;5FPC?16:I]T"W6WJ;F+##YHW>&@<-L/ AEFOCK+NMB;^ M123:>OA) M=[PC10 E-R]SM?9TB;B 2Z#/VQ,\2O H5AY% M8YK-\2AUQL:CM,%\G)QZS58SRB6*,OA_1M7]/Z-6+,G?;.*6@[&A6OK,\6$K.8J$[8:-64PGI2M4N,3W6K44 2=\$DG M1R1M(3H9LZ5ORX.YFASS4K$!0]?HU:YCAA_%X:-A&>X&K:1[VUXU(5LY58M: M9B=Y4."3Q01O,V)/*)N!.XV9,@O.9%?"'"&\\9 M56%U5GO_-(Z1LGDCF0Z=_( >;,OU')*<"S9MF,HXP+4"X<+JT=7]),@*,=?: M23-E1F*.ULTDF&Z\#7)"(L$ SZ -F:UD6![,1LEBHV;/['00(,X,4GAK&01( M9Y"%$4!CU$KDP41).A/9X,QPDDU8*K&_M7ZH&'>VIYM1'GIB>F&?2G$[AQ5W M5;H]#-X<,?0^(2\K*J.Q=;-61@-E5K9PES$U4AG.4TX\FI&4ESS9-7Z_6AM1 M\#?!WUJRI_/XVXA-49P,)O-D\6PKC0DZQUB&G@7^Z/7#@E[XW2^UCRZ:H?Z0 M*M%^->"[@_*^2A5[\2H\>IY+4W[F\NS=Z2&%1>"7F*BMSSWQ[?Z MNQ"E]IA5#R8E2.1(D7A3[SJ"J/LV')F.)PFWHG ]'?>ET#TX9-<#"+OP^7*Y M>\#-+/ 7#S:PF_^0FP<2H"1R2$>,!T%\R]3*@/H!2VGB!%*1%5]$%ARIALX47K%^#^>34'A-\Y7S M83+&&Z]$IV U#/Q%G2/_AZM[2$E#P!SXZ]!;WD!;?.\2ZLU=4?.V.+^]$F>PMH$Z7KW@)G[\+U M979L8+?5<%F#B8 _;FQS)1D/6\=^1/A=O>E:$(!;&V-=I;1&5*%I0;)3[]$B MVZ[[<(FE=EMD+58J5BI6>D(K[2QMO7]M"[I.G6RT;<%!5D"_VQ8D<;>9"OAF M,:*CM@7\H'F#A\9E*7OM;0N:QT]QDG4U):A]^&!F4X+FB3LT^!N?QY15),@) M SNZP=8*>[L/G3+#HE)A+X\!4NK5^SVDDE^(ME/8R_>3DS/P?,)8:S09C&:E M0ZC91\H?>K8T(*[O&Q0,Z14R)+]%>B,,26;+69/'@]FX]/":TV!(_6\E\'-Z M1*8!ZT9Z)%]C$P-_S0F;Y2;UG_?:*U\5"O'E.H(N=7(AE:T(106MJ.($K4KU M"#P@,ZMT&&\V-&2LY9H.94K8W6)]I MKO^F?C3%>X6V#APE3>C&F9FQG&]A99RZE?$]DU2/8-"'" +!SR;"/P#3B2:B M9S*DS,1\E=4#J8URLII(3)E:\2I#M1QV0Y)I\7" M:F@@4D_/D,XGGW_(]6*AYRVR7"0YB/J\/%M"8;IS3C7RD^Y*W^:106:Y=W0] M66@_9RN]EU.:#TA!N;UAQ?L*'%V^'T16&38PGLP8-S ]L@%9&Z;W!6BI?QA# M??_M:HO5R[?/A6)6U?N+,: AL;A*O;&IE\07Z0PITYW+M\^%,F*3TG:!;X+A:;W M^)Z95Y+T.Y4L?2_AA^I-#[ ^T'ZGB7,^@-3I<*+.DPBPSZ23Y=+8X/?_J@9) MOUE1HFOR'J9AG[$^(DI#O9@:PY/)4!M/9_7BR2$ TUK+,?4O/L2::'U%0-GFS*F?OS)6DOC.X?E_0H+4!:\7 M"%"%U@\M*5X1H"5>_\K.?Y2PD'@]_PQ>?VC_Y*3+UNQ\*O.F9DV%S[I77^.S M!"7PL\\2OK;&&DR&RB _8#E2&E!?F\E]]+/RYCLO9/K=)YKTME,Y&;%Y#2DT MF74&_5PMVP,F/GSRR,E%8K\-'=T^LUXP'L%X:F<\05H=SXRG6%\*9L:3,3$Q MBQ5-9XRL:)+2CJH8)RK<:8(=IVOL2L$Q80E^TS6_";( >.8W#2LZ.>6/,[:^ M6XI6MO=_#Y&TT82 7FY3L"AAB^4W!&[$%ANQU6@K@[E6MH%0B]:7X%."3_6+ M3S7L>*@''L6:H+5DNTUG&B/KFDX9W4CUMS5+)*7R@_Q-90CQLT/!];KF>J=@ M0%9D>MD&I"8S&I!J2A^.:@8D?]R)\VSZVO9Y:Z^])]U!KR=W/N8H+><@Y8!7 M^#LK$.@INKVRU90-;J^8*^W2?MCN/.0$J'O \6JU7\<*(X\<)7EDO5A9NI"T MM8@AOS3?F)8U&BJC6;+A1"]:M-=.3^7,+,9@O3)*>K&;CH^U%P3CEX2*,RAM M.)L"2^"-* K&:^HFBKQ.O&Q^!E8!TPPN-GAB!1HQ"5E56%9I0TV6E:3:P#E9 M^E9PF[J?K-2F^M45N. 7707I%5(3U4E>P33/HT,K6H;TQ!S,WN,I2,<,^)[!LQ4P[Q?6_Z,Y7Y,'Z M@T;1N/'X*XK;Y39>UC>#=W06EOU'OA( M_(4.#CCDF/6ZJ"=L=HH\*CL$HXJ/NCL$?!4\H7G/=F&P],3I73.%EK1F1F,F MFIWQ6112]ZC2^L47WW)Z;T_TAU2P04%%Q1<,&/$D&,LHVL]?)-D&A8Z#_>FC&"G!_O91VIB3XUAT0<6=W-$ M&E\];Y'EHCN\C3MXZ'O37GX-L6HF _8@0*0M/-ES=NBLXI9J.:+8"#A$-R 9 M%IFV30].MU;T!TQC]*'9),T0(D#HJ%2 (X2A13B M*PGD,Y(L@4_BX+8EO$+?NO#RX*< L/X3"?3#!$$,]_Q])3>TIS+5+RI&INES MW[^D_F"L5B;BJ"Y6+%4L52Q5+%4L];276J#D MB(^%MML)F*'96IU#7VOVY+9T4@VL_,"TDI-&4U;GEUD7I_:CZSFV=?_N'TAW MI"MKA5;2![0DZ=B2*@\ )/3[_IUJ 3Y1ZTCF8'/JF!RK _9$F;3\G&--.R\& M$ &B_T;6B"=P/]X/I2_H00<+T[J7?C;6Z!RC@"OI7@P!B$$6 C$;&4IPM$:@ MW@)*I<^U_O[:DKR-O7/!7G5K\KGRQ_T:/#,.9Y5CG!1HG*6L]/,DCKLL, M-IM3:52IA&><:.9[Y$W-JM7^/)-ZPUM<[9"#2D2^ -+:X!]Y5,>^NPI'?2@V M-#;J>[]9'T86LF+[<[8V*?*D;'5UKS"SB?2EOFY0\"+!BZ*\J,C\,29>-!XS M-BY4D[4S@A?U9H/U-YM*3C.H3&)UV30'-):;-W"$Q)9_[ P'K7*R"0*_T 7 M2[]'O[IHO3.Q4RC26T6+D=:YBY8_K';."](=(*SA[#!M@BNW-Z=#[[B)1S0O MROO3[OQ#M4D^; )MPCCLO&S1>_\P41!13XFHRLP 1JV0+7U2$!&'(?S6PMZM MZFELQ%"'_C8>C7+TM]%0R=;?.G9"M1^N=5W=>SOMK,/*S=-ZK@%L&67^*?HL!IG/-O1;Q+[.UC@$UA;,27PX9 M@.!=@G<)WI5NX*@U)8$Q#M!)&3\GV%L"43G?1>N7/@*6V&2 M?G_OH'OX4=+3>C$L=!<6'33(/+_)%1[#6L%\J/F]D%T8X&TNI.BVVG;6S_C(/C[0>" MU.?I4%-4.;%;3OH1%&U"4,(K7VOE*R--]*P0O0^4T<2QRLIPILA:#G%P5.%< M5ZUZ5X?=5?'Z_JSG4VW>C[-.KV;/98)-585GL+Y.4PI^T^\13X<+*U5:>Y']E;>/'<#@JX>MJ;]@I"?N!$Q(R^I4S S3, V M@U<9S*:UC^'E#S?;LUWZLDW!F1KA3)HLQRM<>\B9TONKLW*FJ<(VO4P>J')= M&9@BV3ZV//2;SNJ3;X;[%$>*F,E*78R0!-+!D^, M_^2/]Z1K19\=>[5;>@'Z$%>T;EZ:NNL::P.M\CG06&'+ )MI=??12><_7.&G MH+4">X?-:Z-)CO^"O\*+3+E>C;94C:VV8C8MFUW9/]IJ0X!GJRX'<;&AC*5$ M%/GP%PEHU0.4:VMI/R#)TY_ACJW^@B-Y(8#JXCLEMWZX41JD;%I(EUQDUN:3 M3"./]=1SB$R2VH\24P2XP^=_1#:K;.F-RC1I&V1A6&'.T2!&G1IZ^_*O OOQ MT;A8YF+[Z)TN+,NBMSIC$X^JFE0].4+O$S1-;[P-2O8Y:IQL0>IF4-TT+'W3\-6]!F:[1)!3[OM)DNM9EH4V:LNYF4 M=5J?*&UFZ@A:NQD2!5[7/XK?@@8(']HX')G(Y>L@#<]U8Q7G@E-%+.Y@T5(;> M/_RNN3@:?D?/2W.W0M&%5ZI[HV^*E5U5&HX>KXZBA[S$<47@]?>6?99@_*-# M'_%!?G=PLWZ/(KQWVE6;#=.*E(%Z)&LN=!XJO$I4D$\[^"3;S=.!3, MT9V\=Y#^-0*+>W2^P!^=+Q!0%FQ*-Y_TEQ242@;SX!6ZM'$P]?[I[N;R[!TI M/<0%>I>8*UB>^^-;_5V(4GO,JAN3&"HHB8W^R;;\VO?C]9/3R;2^^LG:J)QL M(\"^&OF&N8<'9X67A&PE?>?9/!=>'IU/'75WS90A-7_XT!A+K3V4?&+MK:X] M5!=[N/;1<#Z?36;]7'QH!_9R[0+ANX+[6%.[77O3W4W;EF;I!92-M>'BE(;J MZQJ0NEME2E#W.VZZ!M#F+@>] [:LH^L;;B' 2!^IEE:?F@KT@7":/VA9&2JS MN?P=IX7F=345Z$I+ZJJI0-99SZ>3":]GS=!4X( M9N?R'<+MD,T= *Q$&G*; M##)@'1_0&CD.6DE/0>V8@QZ1M4/Y"%8LE9HE5[[L_?"9J4MCM@*ZN9E.PWDG.:1(]J[-/I)MQ6BX'W:IF!/ MKYL]9;0:J,:>U"DC>RH]\(&9/84.*'[(EA]W5(/:9%,-"/I@8(N,\:H-!XYS MGCG;^,?QM.Y1G M*N'SDB(I+_&LN=32YJ;V%Q'BK"]NF#FD%%7G\XL.VP,$A_N;X6V"&95!JM?+ M<4Z@%BR7_ \"5J.[&YP]-5=D/( BHYBZ[)$R"]ZVL3:4D@)K*U?]5\5:-J5P M/NX&:R.2K5#-OY8514A9T)K\J6I.:FGRY\CK3B/Q04N33-WM_-1&+?('WAZ. M98P"<>^*9 B=UX!DMP=R4P_SOHG*EL1N9KD_9P,;]12]1ON65!%3IO3E(FK M;0I.*SAMOSAM3L>.4IQ69E.R@=7W@=/NXT7=X 1L8$E$47"E[6PWN@6W*G%"=#W="6AS/]$OL)W!(K57ID X _]A-]]!.@Y/[EY$&POL57 YZ%'XC3=;^B\T"VAR\"6K$= M,C$R@ Z>+VG@IQ]^[Y]'^/W:M/6PVFQEN%M3?\%?XU.6OC$>MK;C >2"8TT? M[UCK%%^!,:>",;<(29]L#TDJYN\2EI_XB;H)5U.&CZ6-0Z<5X)G&RQ3'\K 1 M)*O3C^!K?9G5XSRN.8CPU%@'FP.;I>UZ[@_< X7S@X130]+6L1^-%9*",>,H M'%V.@8P+CKI.5R,"$$R-9[_[@!7OK< (U9#Z;>- =KL$V" =:_?(SR[&>&D+-=X M1"$._+'3208-_'[OZ ]T"AS\LD2NB_'"L'!7 7SP6+%^1.:+]& #H[<=\AE< MC!YU

,&G[%*PH>"'BVM('56[AE08"4*VGQ(KF[[=8TD(.Q+DCEL1=$S *W M=T$-ET"TNF@HW6V0BV+?Z0Z2]/6:SKA?O(3;6.N&"3(:L-3#J\8+(2P%+P,C M/XAJTY5V+MQE8/,%S) E6?+! ^C^06%X-)8(;!$3MNR\[., RXC3^E$R.PC!ST!\[ Z\;OWQI[TP\ZB]A\O-MTDTXJFCDPK# M7UG3S>4QA]TY+@B3LY:P%/\ M:UBZPI5$TD&#BGAG"O_74&4..END?\Q;'XMF,:FC)A5#9\9E5X)&.E#T MYR0+!^^9S[I@L48['2A\@ 7LC3NP\0&J(S'OMFHO@FS7#@K:W^NF;BT1=ALO M$#S>PGX]' H@KKW6"MUYJI7EHL3]=1:WRZ/"^^8NJRF] "ZS;(!M[L1,:Z_+ M1F^)DF,B$UQ'OWO:JV4HDXGC/VJ)J=&*4TX5;@5M+]%.IJ2G*S&K9K"&]R/\N' ]."*0]0H M2#\["#T;+LZ3N[:6#M)=] '1?S-;X;#)U'%R$&5#-I6?V)1SRO&> UF=AJ5' M\@%V0>,/SIIOG<&'E!7D5:/\+4]@ZHS-_)7G2:6U,C/'<[7P_\IAOQ32$['H M>680TNG9K;?(\TST0'+&'_05DE8[)\@L+Q*KZ#/7*!&H/FW^\3V3?+[U=&NE M.QD-9S_K+P2K,IL^LC5YF*M)1WV-Z0C-<(\W@FQ.D6RD8W23)7@K41:,R6U@4M3=UUC;:#5Y9'9#XR9,UI)Y[RP\ 6VES#>2TK7HN@^5L9L MZ#XM.V6IYS*UG%FN-6J6:ZT0YL]A&XW<1@JMF0'M[+JB&="KSJT\)_WRVJB5 M1[.KYN%7;&/W2@^_:N_PR[I5-,ZL-L%/!3\5_)1/-]91?CIE"RN7'GO6&3ME M4.%Y8[!M-K[>YV3RV-[T UHCTMWP*9+5BEM+UM>9E1L G+W+Z46XR@+$L9:$ MJT<2S%SZ Z: :&CP_$AO0M;W9;8H9&@3&!S^%_KF]R\7>"GW)!GK@^$N3=O= M.2E= L=C]:!+('F? <]870![6VIHL1BI\NQ\/%_(YV-]-C[7E_+H?"DO)S-U MID[&DTGAMGZYD$KV],MHHNIW4O372=^'MU-PK0>]_@)4)>W[V!O_Y2,R%YW^ MPA8&ZE";3_+F/[>J0I9:NSP72M6%?5]YCH(NE"U3O M&]";CE(7EV&][$G8HICKODEAL%EE/)Q/XM-F^]RTD+?NA"VJ?1VV*^23-@L4KSJ_H:!E'BE M30X#\<%C+E5W3<<"DGF-G<=\@[ 'S<=28U]7>&H4Z+(E4[G9ZL*46=F&*.Q- MR+K"R7;['_9[EX(?O69^E-H,D9$?L87B%;F]5JS\46K;'28Z"##Y\4X_LHC' M!/;:M%$\J M[;#K#G?L-D'9(MR>4G+C5%2UZ1;O.17!/N]L3S=S,JB%W^.T M61I3(2F3LU6=L_794L?M^#DXJCX2?H]70V!U1E?E44O1U=YA88?=,CN0Z2D= ML1@%O'!J"'.(S:G!J#LM-I$SJZ^+/LU4D_!N"H-OO-U:%HE6-S=$A M:V6-@IZ2-&>.CF0;,Z8N,QTH1?OF99FZ4+V6F,:QOE.H_46VS*IM&5#LP7.U8VE#T-SU$WU"C8E6!7W#C6"K1"U!@G MNG+$KIA0]HZU[: >NZ-^Q MQCNQACKYV)6VAVB'''HB2]PX&?CIO66?)9CKZ+#?V4%=7W"S?H\BMR=?.]9" M@.7":N.D8DAHTB2+?Q-?)2Y-&D;^5WBFX,:A8([NY+V#]*\16-RC\P7^Z'R! M@ 9@4[KYI+^D-1A+=(:#5^C2QL%T]J>[F\NS=W?D+.VU=(G)V?+<']_JX:'' M_TG@!/F'++8J<_DOEF99U];2?D!W^G->9ZSI=';0&2M*C@F M=3V+/F4@VK2 M3S=W5V&#@B/74@8@C\I=7_SJN2++A2^7BEYX_>GRYI[B[U>W:?E^*2P3 M2']I(MT)NAR6X#;S",,,6X^51;C;Y0:M=B:Z65/4>T_(;X^&\(\+\N'"6GV$ MSX'H"'&E=&N;=XZ3 '^R;(FR$-S?#O_FZ<]P.0##-5S/#=J_T7YNF/_&3BA" M^#[[HSH?@!6%'-'WTY#/SOR;,!B\W]?>[^KES=_^]Y?+\>?;42*!N,N,J HG[HRXA-BO7^H^B"6#C-F+H MOUH&GE5YZ^D>JKN53W0WW R_X'\71](:X@'6Q#406X0ULE(45#F;%5 X\%\5C)+OLHAI:5-U?T"ODB1 MTSV<'B&6K=)OCA;524[)JTMP_SP_S7VFE"/)K .*'V,VMKUIT(QF5!6:)P$_ M.BX4>Z9=E74)EN,(^]F +$O/95K-+KQ7.H5/ 5DJA<)6HS,8SY)IVI71L<,S M;1 9^\4;ROF:2VR\:SN_/=4AG^14A:UCH3Q0U:3*T.PY,^@<_7=UR#Q)>MK$ MQ\C.H.M3R*L)/TDDW?\OZ^K<]ZK'%[W/589F"M5\^>HP-(#$MW7JX] M].#BP@ZXT[%-$VZ]QL%)L-LR>*\,ZV!BOM.!.BE;ELS) 6=K-OU57\I41O&U MO3IKOFK9V6FH7!7Y@LK87TD> +*V6O_%M>;US?FY]$]C+7WC[K:X0]$OADN6 MCU:7MKE[L-Q_O4MJ9_!L6. >/M1GI8ZG0Q6C)P47AB_RWOTSJLXJM24[*74)4J92[MARWLR?+< MH&H&6,/5\Q99+GJ/++0VO(PJF2FN_>RZ2N9N@Z2M8S\:+O"0S-*F @^B5/K] M@F[Y#>9?'17=_.^7J_]]_^OM:/Y;2T4W\D14W?0H?UZL3*Q,K$RL3%3=B*H; M475S2E4WV=G]K[/HYCABER_7*-J;2A3AB"*<4RC":3>QV&]NVG*M#7F ME9P*-KG^#W+LE>YN_"Z'RI\;+_X(R>=5%7R00E!1[E$Y3;UK5;B*2"0X<&&M M?K:7Q2E9&[..*ZDO)YM+J= !\IWBGC@GJ"-BD8FDE+G,-A:T=$I=>9N8ZSRZ MDS*+BU1@]ECN-E.\UC&WJ&20!@VI"S()C6WN JRA>8NT'@N4"SP]U;H^UI8 M;-BJCG**]XJ4_:NSDF6SC97IM=8/@,-Z.G\4C+ 3.ZS#;K?:KO*V4YS$O$&B MBM3.2)C/FM;+)K+']T+7OFZ<]\ZM, ME6,B4S6'C131I$@8I#WMBUQ1/.1LIT Y\1"ZG":J,75G4:4D?<-/FF; ' M!0%W;\4Q&G'52%AEZVH']W5*P@Q)4CU1*0ID0O58:^BCDEY)L,8R,,K1IC(K M*%Z/)RD*$_ 5;(3KW(-CTJL2G3"F +:0RROL<'ZRE80=_FISG$(=F>))2?XR M9TMUF@@CEV?J.-7,JJIF)!.):&R-.%.:\W)WG/6:FAQF5:W\DW_E1B=O:4&- M%K+95!!5 M4QM([6Y)T3B9S.ZP@W*R[;&PZ2O;]'Q,5^D\TYL',%28N%*\))HMSWLJEQQM M61>:%M1_BAR?\'J4,Y-/:08+3YOF3ZLJZ_-D3.V9UUVUF ^B>OIWLZSG1?)P2DMGDT^1<%N(UH^O*/U8JJR-QOW 58$ 78X%*<[=>CDG MI&&.R-?@D&"SRG0XGL_CK9\GIS))1."]P/NLS1X5);T<&L(*C:/2J@5HD(?Y MLQM#8#0R467>O/K3Y(B5J*^WIB$L,8@HPRG(!)9I !Q.92$[RW:--2$>CKRN MG3K: Y=!"V*CTVW7E[R45WV:*D$ZW3=3$*R(F^PB: 1^&R!2[.*(L_OSSD&1 MW(%8=_V]L_M^,) _+]CPMZ:Y.E72(N@/KI<,)&AW)IQ;L.M8%3%.7>Z'\G_63:"S#,KRU/M^X-G#?WL_UT MCC7*E40Q1/K^I^N?[Z[?O U:$OH[;,$F'8"\.>>[',0D**QD9"\FR8;-8A3/M7:=K?;G0'G2]T%^0YX!JN M)Z*9_\*Z/TGK_MA\$7:__B<;)TWNX#)@7WYE&L&N]QBY+B.X=6F[7A9/T^:C M;)Y6:"1)"F_KU@WP1ACE)V*4LP[G:8]\E'F.2E"$?-+B9MU:[_4*[M M^.:D.'QX27#!#3 G.]..+3*OEN4P]=COS4CA/J$QA]9TDP*U."8KVIS-CIX. MDZ,33L$7]::4"3UMPX1.&,W%7T_E:>"\QC7J5-K%-8+R BYASI98$DUGK4L: M)=3FLL#Y/H!%\V+%/X=,J2*/&=W":5*%"< )[;0L--\UM_TGQ4(K ]# M0=:RE;JA/NEPI8N#>FR*'+8OQU=\\#'#,X#I9R4,JTHU'XB<$F)LO&*A!@NE MY;+2!BV4"I72_?'XL>*WHN48WD7P>YI2DM,B?O?6@Q61!6D_IMI5!5M' MIRE1,*B3RM4;2K]@0"UM-*K/NF"/K#1M8G 0$/G5PET)[RT0S"OBO_&K"$5\ MHN'X1( Q05N/4IO%C\ M'($03/^S1]TQ=/@7EJI[0$MNQO=+?7OX5="'(_C0 M1)Z'G'-8[9( */C<=K8;W8*[E52XD(\,:P4:E@]4\HGGP#V89H,^E$\;PT/D MZ9$] !AQ.TO\Z"?;6>U?3AX$2UQ\->!9^(&X;Y M,MRMJ0-8#0NW]I2^,1XP#P)H'.=ZK!49$;*""Y)=A _J,F3&NHSL?(S:BOHS M_.0BY,-=R*>L0=44-H^JZH73E'JC%E(HCQI1KSVA\6^ZN:/9#3KN/JS7[T04 MN8PGG\MX"3K$/5P0S"^"BRY<%WENB%T7 7)E-TS)"2H7X3#C+O(D1"+CJTAD M;-"K60/IJ&/&TL/1L.2@WL9)ICWK.MNO2=]Q];PU''@P203<12WJ<&@H-JUU MSW.,QSN3/[OLTRDF#R(UX-=.PD?4T.6_Q((RAOAM# M339K*TJLC,[U<>FF1Z+92F7)VV)69(AB^]%JHC:KI-I08-9L^UF3-6H'EW"K M8>T 5#=;Y!"ND\EFM#D;G]'*!CN:FFV=%N2KY4"^JY:SSQXRS(Z!%AN:6F(8 M1\]"A;6*Y3)4,M?8_(^JFIHLED,F/!SQGI*^BPE2Q@FL\"EZ7IJ[%;XC-H@S M-ELS'RO2T.&_(O,R*1"7IN["^6SO+?LLG5P+SH:)#^WTGZK?(WCNN\DHK7(\ M"9R-$]RYL1WC/_!8W?S9L$ ??+ ?T>HL]=^"IQ:5()\[_";N>- M0T\DNIWW#M*_1B!UC\X7^*/S!0*L!@CHYI/^DD*+J1,G=&GC8-+YT]W-Y=D[ M,M46=WK'A(8UW1_?ZN^BJ+)'"O_#NF;;)C=?GON$?#A9_L[7,F]V3F3L[G[> MKB5AI4%ZPE-W]4?;@=-XD8R'+3 AM)(6+]*WS?5S3VU2 !, MS1I1KHYC:LFH8(!4FPT E$D#"+ 0D=='DP4!, !,"3UL3?L%8:9D+[]*]I8 M STC9VFX '0<'7E$KH^[$"E&I<]<)XI4X:GV>NTB#Y\QZ;\,AXF'+Y.>C$,)$") 5Q9\HHIX M%D;)&L$H"]WK^-L(2OG-(Q4^R$_X0Y+E&DPA'&/N639_T/4 ]OSD M#^:F"X;H07 *3L2P )F 0O&IVL!!'E-R9&#U^TA@=(8'(+JI8RSW[.-(C((H MH\^1LK"7F4J0[EAD@10]R08Q3.# W4TX7H0\"[^<8[LH@3&4H_8:DC0X4@DRT]*&A+Y>8J1'0X=OQ339] M$MF'?P9 VA+NNV+C#FNN1]9LV1[]X@'.!= 8KRH:AT7N\% 8':9,\B68!.ES M0?H_1K$D#7^BJDU,@2^F$-PN-VBU,]'-.CW?TOUBF^9'VWG2G151">_@D>]- MD)S[\LS)Y$Q"8%%M<8V'LT-G-2)S472]D)R8$E-=A@(!8\)?(%B:%>19(&M% M?B3*#Z9Q4-A!+=EE%#2XTO>X1$09_?G7N_?D)_G/;R3#Q:QB;6-6[?X0.T&L MX,?M"JR=!YCB?^0$F?/PV9E_$SX+[_>U]_O\\^W?)W?RK]?S43H8@;?OCI0#JF\C/T']IMI^M8=41')T_]RAI\>-PX3 M_E\MX?\M-4I]-AZ.1FI/IKZ/U-FT=M=T$TL=#;6Y.IK6[FYN8JW:4-/&DW$? MEBH'X]2Y7VF?$*!/:^T1LG8"5N9F*F6;IQP5&^7S&(VH7=((MF'S M"**F0V848DV=$O99>L #)1Z2&P-"0CW&;>V MP>-61E<9F]=!:LBA[S+#8YD5DU1CG?3/]UD@:G[Z]& V+3NAJIDC:L85P#.= MB5U6W^6W76R0;VXRKX.;S)BXB3*8C,O.T\PYHI+9W_Q1&C_.F]HV>P'+).F( M$IW"9=/TCZWM^A]'XN\XPK3<.;A!9 $-[I34M-K;XVJSV31FPBB2;@!7?PZP*(,O*;,QFY:C)LN/F^L RY4BTQ,Y MWGQ7WA(4Q&'U5J-DI4Y4)K+2RE+5:Q+H)^"7VCE$L+O" M-U.'L<&W/M"\.O 9(U1AKC65F9C6M&0W<>'M.!7]H:&3Y$6U:$.S*$>AJL*F M5\C).67"A7 Z+H0O='!L=;WBE)2'4] 0V#I<9C"@#Z@&!A1O>E^< 4VU%D>. M!)I K1-U^.!>)V:\L\[7:1#%IVP8/M?*MF+I"2Z6&P9ZDF9[1+ZN=@@[XDG- M RDKVVY-6#(MD="]G4<^-8T'@\[8%H9\4X8\:YI:_UW_>W2,L;F?,4[>K"]" MC+RE"'FS_GF/CEEQ@'G!.,#Q838BU>'5&__E7BDJ*_O!\:4"G9*>4ZA'6T\V?"R[L^F]\IWH64/:^%S3 MVDL;+W1:KRE@&;DY:73 M^#K$:+[T1N$Z>TW:9H=@Z)$BRLJ\YHR1^K+C7RH?XXEHJ-^[#/V\P]>WO%!\?#]^\T_/$A .^R[FW2PS&O>6S8 M.#:OLVK!)A:B+6K];5 KHA\V8AEZ #,.FH;ZP-0*/P)2 O)8&EO< M$!RV3CB!#6(9]W VW/T]<([P >U\;,'VB:N"DJV#'G3#BK(8W,Y4,H&LX%R= MAP@I8>)##@#8?QI>*\"3>,@)T08$[FX0\ES2DCF$909'B1)\=M=5@Y;< A= MEHN&TL5RZ>Q(E^G49^*^V2$[= W*A7#/^ ?R*OI-QKVP73P&816TG-87-NR8 M-HBEV;NZ:?JIND_P (?6-0?.\JJAI)@,5RRF+M01!+:\E($$,8$K-R#^%OO M,7N51GB8U@B'9_=\F-2(N(DN9M0/!@E@(/)C>1 MKO180R'6RQ/F17CT!-%C=3)E!Q39)3PAE#E4[UH#^["6V#0*"HD I4+K$*\N MG**6SDA2A$J,F)/!4'^^43_=EP/)78N9@GPVXM;K$RL3*Q,K$RL3*Q,K$RL3*RLY_-'*G=B M+^7GF#/DA->R&QY77K(DM:%A(OL)"(QFY8'?>F_9QTZQSO$A5 M"J!NPB)H+\ZVG;-EV'N A%7[ZF?9(.\AU0JSK*_9QDATM(&55JP MT<].KJ,10$[NLQ^Q&+=2-G7UQ\[8/L!)#"039TEN '0T&F18GF[=DVQ*_<&& M/?V'A.T&)!^K@:8!QR'"3;%)N$%E^XRCDN1?I7@I 2=;+=I$P-]EC;L;\5D^ MD9)UF0CS?C2>T8K\>&&MKD,:N8B02'9MA3Q2&"O#9FTTB>,$+YOJ$]#'[0D. M4ZS;:D6FPP>'B>@KE=B,,F,<&C4IVTG@M9#AB6LRS7HD>0%(,6Z4!8M&MLVI M(I121UJO(J0J;,URE;3R%*9!-UQBJ.!)@B<)GL3"D^I2G=01H^HTKVL"%Y=H MRI"5,*N>E3!+)O&7JUL3!6N%RRO(YX#.-LW.#Z!#JP[,Y/?^083?%R]XNZ$5 M -8]]3A&T\Y#_*HJ\WS,H9D&]=G691Y;^'$1VDWEKM5]5B'$?\8 C[#*S*;> M4[91!FK*L(X"V1YEH'4$^#4^JBOTR/-U1#CBOM_R$9JI$20UDE]SZEV%EQ=Y M3]'CJ<'$*DVW,S:ZG4TFV5V[RZHM I'J1:03UWS\G;\*S><(QV9 R$/M.\=< MJ$$Q+_[TUX"YKTEG_X+A=&ZOSW%_%[]D]'L[KLB[;ZJJ[R7PJR;5K>XWUO&F M8_9 JO)7H;%\72!HYRT<'FU:)]PRIUW-Q(NHA81*;]:_NHCJCUEJHL8VKWD\ M2YD&6]6\J^V8VN$MM6N;#:^KXA)JLD7%X9_RX=?EN"_(OM0)6X-:=9PS;[Y1 MA.VLV\X"YS]A/N.-.O'.DJR5?L:4G\C(K,G(N4<#J%1YTY M&HEME/QDS#P8J5P":M^0J->+/RT*B BCX-,KVMOS4M\:'NSS/V@5$LBE[68+ M*38::3[]CC,$ZZUT:*V(MYOYZDP3K\K+$I4M'7XJ-Y(&QA6""=HX5=JH4*;)4_,(/!PSF"^V4CYN5 M$LP!MN%C4('L HU-J965E@R_$T+44]U7RP18PY2#QMMQ!Q_V+W&"/?&A^5(R MS@CC%.5M9P4:O3< FI#.ZGC")IV;,:7[@L2"-$^*-(L(FCZ?=/\CB;_I#J@F MWHND4PYWZKZP5Q=#*2'< EP(OLKLFJ(6=',=RK:Y(D*.)[?X)LA%&(HG;2AR MAN*]%68BL-.RZ%/9JM'EF7IJ 1Y!1GTAH]IL,&X-K1..)X:SX1Q_(N'K=:+P M%\[HVJ@+/K@F@R4S\T/92S"A&)?(DPHK+_BTH^HA5R=)-,F7 ],GY>?Y:6P-Z,GDU> MZ4^ HR73,:-5,#WP"VMUBX\;/K^DAYT=\&-K#ZP.M&G9=)97$C7K]>)%R$\8 M?2+N=ZK*9-<:8RW=\$N*.'6BL-EJ@]&H[)"._N&;(!5.247$]GKL/4C:77B4 M7Z2+G^VZTE)WG!?,@9YT9R7*"7D*4W0=_MNW(P9$N<1X$J!)IATGLWDDE1ES M)XQ7&S,[U7V)6* P"T48\#1V]6J#$C6% 4M+8%5FZY4X29D(($*"/=_5JZ4^ M$1+DW<%RN]$==+[07;0"7'G 6?.D9?VI>XM..QI8HD3B,G+H%];J/;+0VO!< M@A?O,5I$+\ ML3)S8-C\JNHDV=MF9A8/30'B2(DV71*8S-7^2R-? ,1M&)(>:I[HL[ M@A-&)!]&9(T#0W)YV(1-%9_D3*RJP=3M%Y6?E+)PP'Y&P]DDR8$:U_CKX&S\ M&]AYE#EGBX_*I9L5%#KPT\!M0;&OEF)K'(V2+T_9ZL/DE &VKYIHF2/'L;\U MCCQIM[N%9WNBKVQEJZ>OL>6?'-O-'F'"YDN8#F9:8C<2F=26AL:1BS.7,3L-=+8OV387SHTCS$NVHR=6+G\(*J@L5=/8R6DWEQC\R9-QV65R].@L]=:B/LWW=S1]&;=-.TGW5J* M/KL-J]F\!,R_K\?(#3'H(D"@3.'/UHU7'HQ37-RMEZJ^$06Q_!.#"&;S$3&=E4ZOK0 #'/\8&,:!Q8GDCJ%]0 M/W/&>'WF,J]U,P(VME= MO1; 3HKPSE@\\K>+4R4HO&WL\-O.=QLJ6,#M1YV0:1 MI0\G*TK&(V(V%*WNX^)Y/)[:^,9QMP@7^ZTQXSPK]CYG&QK94NP]_12*AM\Y M)+O^:1J)$U$F*4?2N&'!!8.I!1;U;9O;,&@!E471V!C/9#!59]7\(AG'Q@D* M"G8BV(E@)^4U&77,EKE4.9^B#^SDF#/HK;>P5R_D!QUV@7]8&8^1?RB /NT> MD&,LX0/X'3TOS=T*17>0B-+AN--YN&-E]-V?I5$U\E+DTZ*_VO8!-O-PX%;TLTG_24M>AN%%&;F^!6ZM'$P4?_I[N;R[-T=.4M[+5UB3F%Y M[H]O]7-L99"I\EZ8 ER^0U)&_T16!& SUB# M%+"\=&\U_"?!.>Y,#Z.ZAW" 7G=>I)6QAJN1M805+)#WA) E>1LR^X[0A4'R M#"40I/;.(4]T$&"$11W@OPYOA])/%Q>?_>L&TI?_HS]L__PA,COO<'9#B3D/ M0^DB93<2<#8\,<)\@;5L85.8:*7U#B,JN6KA=Z:2/!M^AHN6R'B$)SQM\.92 MMPZ/>33LG4N?:3L>7&[0/8,"0*]^KQN6ZT5V&3F= ="3 MO[ELJ,-=.P\4F__ TY*G.90 DS!T82WX^(&YPJ54$WK!&(.OSPJ#X!LLA*$# MZ]"EQY0\0MI#U::X=;\#:.)/MX[]:*PHJ)<[>#1@[Q["^A+ 8!$8 ;"M%<$( MJE_$1#(K(WW.8*1\'21+KC2]9CND]^?A8.F=9VM$)&"AD9XM5M1#;^ M>[>ZQTQ;,ES@<7_L#(=RGQ6",W@P+,QLRO"_H72W"1@G>2Y<"IP8%XFG\4'* MA\,78]$"_,\!P: _V/!JF]P(!J1'/B2,E2#70%KCNT!8O5 !BL#J\Y>F6R\A M]\3?+7#&H!EBU8[& E>:F[P*_A>E^& /,%(>EOD;YKM7/H@N$J+-]V MG@TR)"9)))!;AKV"9V*(H&?\*Q:A@%+>)E666;:'KS,<#-N=M<."@$@-+!A- MW2(PUTW8L446#3!E1):8?7,-8+=T\^4_P9&&$BKM7$ R@]0V'!"QP:%@>05; MW!@N@0* ) +8O?BF2I6;)?(E&PZ*O'\+\ _MXAHV6/H981\$W[B.N48^I,[, M_00P^V@[R10TTN_SQOHK!<[-^C($S<\$Y2)AGWG,*7+NHN4/@&>8[8#B=O;. M UL,22\@1MQ#XS\4!;7!#),ZTI<;H@-3+1=8@F.X*X/X8UQ\ 7!,N.(I.&1$ M47VOE\"G9$,8Z^%RK%X"Y?VQ [9,J/8(Y1Q#?HRX8.OCY1"LC. CF-X;LA@+ MP'6..19-0[&Q=P[_ME^DO?-,V_X*&O0:O@D?0E\'NM6C;IA$A418 \-;^9X\ M'9#6(!B.'VRA>[*J-\%"B 6,%3[=P_NV@;$&_"*5VV&B<'<+K+YY!M'8\^$%7P R#\L8'>J/) P_F(]^.!#6:,L M.EQ>W3GBZA#K%]MGH2FD: KD\Q4@"I4KYQZ0UE<+9"5.%32DX1K&2 >;?)@P7Z1O\QS/">X:.)Z3G/4P MLG4)1WN/KJV+!VP,997XQ4)O_4F=21^/2T7"$\)>!F+I.U3G0ZO:\4>P73ZP MJC#^#,G9'YKW:?\P!**2 83DH\!>/?0&_/=;@7/-XEQS^!13YZ1:Q+FL$7$. M]AL8_FXQ@4XCR;^K#8ET=:(=R/2\&AY%217E:80EJ.&DJ&$@;1U @=.3BHD MJ4-?#-BN6"T%\W:]QF$5^'T+<,.X3UU@))P!B%]< ?!E/GTT-KU\!+Q(4:") M34F"5]F//?0E86_7=NO8S[!C#YF82+-$1YD&D,7G@UV29<5F7'Y!+ECCRTTF M'<>'34_";)%I+DF/A_GD_$X"8C4-$E+!JA?\(BW0/4#>L_US\$]8CMTVD(RU M[X;S@RG2Q=XF=Q#6_3%V!(=R/%A%M+[U#EOW883)QZWAH9S?5@F?%]03TZ/L MC;WL-Q1ZCTF<%,=9[W>F[F!OAD'#:3KA]!C(.PNHV7.,Q0Z'$P%Q,+#=V!G" M_8;UB-Q(#!*0X)Q0H'\2MD4\SX8;=3W#;T&8C1XL=5MA;)/LQ;_1DCB8PH@= M<+6O^$B!^1JXR,GWK-"0)B;YP%%&'F/#HNXMXLPQ5@:P&^3[OH$HI,N='PG\ MO_;"E2Z67A#9<_V0(,Z- 39&7$TK]SR(R)ZO8CS&?\FY"V\$>1Y>OX_@K@'X M\+#OL'WQ@!U&]I-%O;ID==V MMR \\.- ^NGZY[MKLBNX!(%@"2.[P>LB[(_"(NE.Q)=[1%\!?>1!_[?M1.() MP7/VARJM;.+EP@S>!;0A7O6-;:Z($UM_'DH?Z0-=$J)PX98]&Z7N,>*4PR2H MQW6?H%;M)5S3SH+3-KP8'OKAA-Q3_^!C>Q@JB&,XOC]\@WKV MMH3++8E3-9 O__OT56N_.;G(+$R3>\T@5MDG" MC ->(#-W]M:ME(#&Z$9(K"3L>/_Z[YSNEI"0!)(00F"E9A(;I'Z[YV9?Q8XM\?ED-2>BXXBE1@66ZT1B"*N+8#Z[(VBW8Z,9:&) M&"GI#=!D,>L,7OPCPRXW@Y]Y(F!\![N)P_!&0.(_[LD2DWN")5^Q.."H5Y?V MR=VC+6\.YO>@(1%R!YH0J*] .V-X\T;5I]^3E M,_4Q?/WRH)GQ5- M(Z9NRT)A>>NVOSZ/!,SKI[HP5B0EZQGX'M@^!J$>U%]WD@ MA-#O3!T 8 JA.&$F"68RP F7CG9(NW7>W:=$XWR&!(A>5@>)B<& M^_JK3K]W3JNV0]^A)P<$XL3Y@( ,T78" GOV2]J@ESQ:CG\@YVXH&69'06L. M1\1N!TIB16Q&*$ 'E2AFC__"S$=C9,'^%AA%)-)HH#LK!XM$/1%BWYQ(. MHZYG=O@SEQA3BP]X>Y0L-M;P9;E.TX4"S;K<#<)/($:'L*#%]6;(309:$!Z+F[U[KO 7N?Q% MT4*A[5A 8/#4>>ZZXJ)> Q:ZNL1P58ZHZ'L&O!K+RK.LL7CY+T"H0#V_P6LS M?;GQ.-TN /4YH6RNXGY=@R!$] *%7F:(1G&P#V*1WHS")U() \I7[*Y&?=E. M=TJ7FVYD1U+GRJUN6C1_UN]2$:M^CTJVK#\*A1U,Q46^4%H4.>87/; *C>F9 M+/O2Y'<"/@JE&AI^AW$VYH\[B 0]>8B6UM>Y];7]J??'A]9HW!M4 OY,KD+2 M^]OM]T%;]< MX46JMV2 O'16.@(9+3 )FM8;(1QX3 FG#X0SY*P7=$]E M[J6?QA$NS^(R6AL,.<[,S" P.%S* KI2,?LGD0VA"_"9;7@UQ8>D:)PUG5<" MZ=R'Y2Y])PA-F'YC.ZTJBN9\Q'Q6]!,WCDO^@($PVG!(;.]A, 5SUY%$*.?L MYV#NPHGA-Y'ASCXP8!_=2!?:2F2B KX[-:JB<\R@:DB@H]/_R\"%Q(TN=T3H MW]KZCO"&^J7 [@:+P'SK.X50Q94/%+$@9B!P]K=IB2 NTC[PU-8,PBBP7))7 MP4B>G;*EQY4;C4;SV)$<]$+S'.53OA)3?"')WHI8Z1/03D%U M$"N:.4FHKO>F'3W/(7&8M5JR0O-2-5YGR4.Y39H#;C2+X-JZP4([TGP!B.77 M"OZ6RF9V3.62VLG">*.C3\(^!:(_]"N^7G"N*L#O*$_0:1Y5 \C,F7S(NZ^. MQ]K'N(]&VLUZ(B*1FE+"[KU'.^1XSL-(S##1O<$Q>5_48ZTEZR I-?S](U^Y M231:@ K(:G*=M4WD-<1M19L"T?L-5Z&ID;[]74"1[W05X0@>F&@=!S)CM!0_ M,$QT+TDFZ[=6#5)&@IU;^51C$X][ (?.F\H:&4G:]60FC^1OR?=Z5%;6VC,O M2FHPHZ5=R4)8+6L#LI?7%CZMPJ>5I4\KJ=0^#LI?O,6V3S1(33%A5_A*-:8_ M+$M;+8Z7*["'([]'"K^1"FZZY'W-<[F5FN/L5.O-3K'9A[3UQ#@;D'\9L?W4 M=G9]RDU^BHCG(N)Y.^(YP&EJNIK;T)K=O&8_]B,0"&N;LTDVUF[*2RE8Q,Q.[" J2QQK(Y=$9%H]T#9G;A-Q44"]WPE>[:SC=C='.$QEB7 MT%Q-*IJK16BNYD$>_N%)TP,391]'S'T\60ID %DDVW2"+"'OK5ND6BQBQ9.UC?C7;K/->>![B'^DW]!+%EMS$K M;/O:(G;_[8RIJ.48 %O%EL;/1'T"]JIC91:!:+B+ 'X+TK9Z2S-,'X+"FYX[)2 VM@5I@OQ2(\2!3R'H^;L=':+ALYV J2?2;]RE MDB.@)770[,3)XS65CPCQ#%EBM ;TR6%V%/#LE78G;%0?29_^0)78SXJF+-?+ M!UY!M8^C@%((3S$N_)DRX1!?&ZC;R6)YQ%)%]-\?'HH&9XCZJ6@#Z3#A\^&T M4A1.FPT?M3$&@%9KBQY=0+HLSG"W)CV-LP9,^1P_ZV'71HUD4;# % +"J.-I M^;M/*?=T7>A=\;E!-0MNX(6;US]2%O&S,(A'$#>OD'E@U<)0]I$LDK35#*B? MF@+S*/2%J/K""?W+@)RU;3YP5!80<,4=!K;=9)Y@NQ&C0H)@FQ6!?]#71BA] MMQ/1=Z,>/2XUJ5K@C@(I!'7*@KJ>'[6]$,I!-*L\AI\XD N1['XD])! M,0/XV#U-/>$M'PVR,HA)6#<&+/ .OUG9,YKF?KF1*GWO4C(\:]G0=2PBHWU9 M>AR<#[J!;PSF6R07:IXG(ZUZRZ_KQR>F"">QC<0[2"\9?N]$[ZBS!6#^ T-U MVG^>QK5N5:5VQP[N4Y"\F1H!L;Y9Z\UQX>(ZW- TEF-O-M5][[K-J.)81$JC,08B\B("SY$7MB+64%^W4[?;2P4X*O M/\*S; I1>IWM5NO_X+-WV.1#>VZGC9^XT>CQUB^@T1EV-@,F5&[5MR/G:=,S ML[3I2;^]50#9E&F9F/DDKU8J[X>U;\>'6#);6[[C:QABDR9B8."GBS\_ #UL MJG5X]*X->[Z6=NM=97]9I!_*@A\EQ/:Q48*E;*:&$E(SH"V@@Q*-LNCKZ)@N M2C#F' $O$NP[!EZ(%;&1$#/\INX/OM2\0N84,B>)S-G?HZ] I@*9(B+3K6PN M6)HQ)B,SYY!I]_+$7&7*SI? 2.$ :)/ '>8S:W6J<)'E5!PYO&[L'@L+&'4M M>H/%=K-> JSU6U:N&S/%[D%,-3HJUOZ62@G3/3NI5V)TKJX&[P,/#9=3#FC4 M6Q#N:ZKYLUWBW9,BBWTT$=;7^OP:&X=BRT\@_6="^QY.#5Z7 +@"(H2&"T%> MP772R4LD^@YSD++A>YJ7..XWZ_N@&T-8U$XF7['K]0--[OLT..@>-2=!QO5B*)!;;%WJ;9[ASPF942@2T#-&>T.[B! M:@!(G<$320A^'CIJH.2SVM2*:20FJH\VZRY6JOQ!R0S0R5ZP'0 O3 M7_BA49-.W3(V4K#55IYN?S#N[FL6?92)V7F+4NBLT08XX/66)(K)WQ<2OUFK MB&]^>RMT^G?"8/RI.Q3NNA]Z_>Z=<#OHCX>]FR_CWJ O/-QW^B-FXIY)+_H_ M"&M&+0._M!1N)9GR$W!\4P"YHPFKM6&N0=J@OVO$FZ4C-+Z]16L*62Z],L;& MZT/R1+0U$6[U&1'>X-]O2\ .9\2P.U.#%%?P:H=P\C1AB[3LE&4HDS4ZUX05 MNWCF@RN&0&0#77UFB39;AU60[U."?%W3L**4;?;)6"D%/F;SX;IP 658G8 7 M=SAF"3@]G9 VX5[*W\AF:M:?W:(OHK\/P>&L0KC190-[U@MW *.II1LF-FS' MUO!/"LH8X.33!>JJWO%PL!3(R? !S ;Y^I MFW:;#]X!N]/([-:U#GR/\T/CSMF:;+RX'^I0,(;> L80X=5*L/1BXG;3\FPW M8O)NZ79_\V@O131S\9PPD/V89S4Q#)X$[*0U;E]6[)A#MQ7]05P!(;[#5Z:@4*+ZOM85IYE MC;*;I3S;YEBP!G@/@R_I##:/B>H]R=3B2]KE.']&W_$,NHBR(8 7!3(U,U-6 M)L9@9>V=,L+A_K$82D3V%E%*Y!/&,TF*G59MU0 TUGT]ISE+' N,G M0\7\MJM^81/KJ9S6C-UWZ;:S3?S>OJC,Y$V60BAN9_KOFVJ/PAG3) VS0",^ M'P>(P^[OW?Z7+IJDMUVP2CMHDXY*PJCWL=_[T+OM],?"[9?1>/"Y.X2/T9;] MV!U\''8>/O5NA8QU/6I03+3ESO81)X'N3JG,&MW\G+V@9XC;ILG[D&.6!9SZ* MLOJ6Y&)X40F,O82G9GV=6U^_?/[4D+I__CFL50+^3,*+C5;:KZ;8:%,L-UO- M[5Y_J9=)/$[-RZK4KAXU;>IX2V\VI7IH&Y #6XQM$CJ;V9=SW("+_8,)FD)7 M0]?4ON*7N:H?FA%A)*U^&98($CO)-$\T%'4K^SO>A17X;;=;]5,7/,5!P+#7 M'M]S'R3[Y;4<<@:%;:4R[:*7P[*V])+W0-87GD@2%6K;+$[P37?<+.1/,)OP M8)"I8J+3HWI'W8O2G3 BFJD;>]*VTP. 0QA9 R 2G:2X35O;R'B;^^KB'K[# M\*2U=KG5;C3B[CFE>B,[ ^XWOE.D X<,JG<=;2;=<1((]N3Q:\VP^)96LL)4 M8K-4E_Q)&-L.@NS/,"%]9D]?)UUFZJFPK@S$IAA_5P=3_2'IKLFH/[RZ1!8U M)C:._K090KN6K.Z5*)7J37]?\T,YPIY#JY1;K8;4.(&@.D()K&.9F^^%GF:N M>/0+JDV?"=@/JO[X(HQ>3(LLHQ6]R:TED:!23=*]<*WHO/82M;Z7S0%C[>Z( MNLX&:X&K.3C+4381OD;A>),5(@4;))#M8L162J .7AEJ!N9 M.63.@:T<;YNY4D2.8]&GIZ,<@S=R'<6#^X?875)"S42LERJUN%T ,CRP5T.1 M9[;-0M4)4G52).>$;I1JJ=V,W28LOO_D')6?]E[_B;= :9R6-=E=X7N+#\>R ML [>7LZXU,Z00.&_WFWOWUU*+^ &WU>/KQ50CB\%&,;4O5)(:M\8[SRHI\AG MSSRUP5/*/45LCH.N,3KP!&'V'OK)IXH=V\4G)O,M-"LE43S4Q9<2"XIQSM'. M-&>,_](%6[3*L*EUYXH-M:A(PVYS3Q_UD08XLX3<7A9Z>DO'5RUKKT%3358C MO5V2 HHI'Z881D.(8Y]RGLRE@/+.GDHJX2EI<=,W(E\B'2O+(Z.5\_5/5=D$ M?#>)2J86F5T=OJ&=P^[+DN)).K1BD GD9V(V]@*#(U%3!:K[ K!;[^][^V:BU0Q]]\'H[XSV^!74T7&@L98 4& M(SE'/QOF#$[C=V.%+'<\',=."X5UZMHB5OZV24@G"S?J/4) M4X%&54P$C48Y()7V<&"(;0Z,LA",F8HW\&3I!)Z8//#$AYG#$KYC'"M\7911?;1E%QFPM73 !/,H<]%G-$J9K$S198@@=09[2LNN\I&C$ M:TT9FQ%+44O.CO MS?2#7;J&5IJQ,YYY\?S=8+Q)!,9] -L-YO&SGAX8V[5J,C#Z;;<0,'K+6W:H M_ ]HT<'A:&*-2Z(\T6QJIC0$HV^D^I81X>U#T*\=OIJALYA@D/N?@_,*=4%* M"?6'8<0%WG_2A5:)-Q14^)W_X:/QK, M[9'A4%,JC M\<%Z,I="TW\QLR$)JC()/HT"]&S9XK6+9[QPL$!5<>,%$()0/9PXE>L44S 7 MRFI%9F5AM)Z8"'PX*!6KIZM. >. 233RJ,.3,$D)EO2D*U-:K'W&.G6!2O>E M/"H+,RSK9IAA-4!=EY6P3_*=MO3:<47L\5B_WRHQYRD<%[M,W'MW)3AVQ\YY MS.I1TQW^X@3D5+;#CW84N/&6H^.C L+ N._KF\*5.V^I%X;]YD(WE/_ L+)Z M#T0S)$O]R<4 =Y8O<]W7^[[R/>JG/KL(&JQU8?!K ]=V;@PB?W-!ZI%<3_"C MZPD!) <(R.JS_!(4L>F&(]X\X!2R .8]4-)?QX/;J_>T?"3B(Q;1Q;8N/[^3 MMXV$=S%Q*$&%2\X;/@ :=;^S?@B.:7WS\I'HCX:\6BC3#C;6"2EY61.;.2QY M:7,]+&OYZ.P#25VF3,*N@4D[[;#:F.:/*1>5%*O5#Q__;/>_M*(5E=Q?1;+= M+M<#RTC: )58S$ML=G% 5^8;7<;DJ9A)VF4IO1O7:Q7*F)F03* M%4MWIP*>+<)4RNU6HUHY3[@7BR\P_DSAGEEIGKW"+(-BNLID6Q7@ VICKRK*&PHVOMUMN.46LU8T3M1E>1L]:K3DHAGK]*I M*^]R3VK< >5:XNXY.^LCVO7OEU'%+;;)]8"V*H:+*>M5,GPSK-Y[B5Z"40\Z6']>]CZV&M1-Q- M*DG54]=@S@>32XE.H9H=R%. MG\-!-$#M0NBN#7U%+MV;\CI\1D?62L[=<401GN%[PB(%Z& RKC<2D7&K5*D4/I9<^ECV9%<(MPM%DPO'P^5NY5Q]*+?] MV,PKH7'7*K4K<\*[PHG 0 MC6#]\@KK@13.A6*79^M"B5@>[F-LETFR?G^E9MOO,2# Q<.DU?O,(G8 MVRHNT;:;R72?6DF4@NHF%?Z14_M'#E!O]+6U$'[3,6^Z<#I<[%;.U7_RVS"V M79>LW6:C5 TH7U*X3PKWR6MPG\0GLVI2%:+1+&)07H_WY%<9ARE\"L4NS]9S M$E%3^?4A]DU/LFB3:DEL!G0CRT@J-1IQ'3^1 ML.*R2"+4.]0^W#O4/HV2-O9V.4O70&R?O;+B+ED9),&\-""56_#,3%]C1P5_ MX=)#P)%"%R;*[]@'.&;1@,D]42:-YIRFKIN.*<=3N&(@8\ZTY;A23TR6C]:L ME,1,D^(3GT\^I%]*@B!OF_$=BU0/.)>C^Q-/!:(]5153@4YB0)Q!@<5J;.]I M.Q&WJK=+4B-N5E^TT\LM;N[3Q/]R?2W\CS(7_F*N5RAE/RLFW0*9W>KJ>JF9 M__O>KZW#V+# #8S8OJJU1KFZ;92GU)V'ZU@FGSWBA>'P_ M_^5_B#93YO][?8T?;'?G\S>BVW263\,]J_;5][KV:*-W*@."_OY$.\J9 MQ,(^X+1WGT#^O5962]"M:3])E<@F6>CJ3 #EU-"?"'YCTJ\4#5351P79 _ZJ M4Q<^'\QN@DG[Q5FZ0.3I8KNQW=__VI+$YD^FH*\(4Y?-LI"D+2 "YAZWTJ&3 M1^T$*-6W.P'2Z11@R+,.,-8IF4FB3*K3Z\FU8M%HO.:M&5LUQUN=9JG2>\BT47F'TF MH(X1U)EJ#[(3B:[LVH_E\*R/>Y2B%,RP<]EP"A34XI23G?)Y''"TCF*[N%WX M+6R.>9SM'?(9:3_N0974=ILA*<3R9._=8.KN:Z?UW@Z*.4WTQ8$ V[?AC!7W M=-&@P/,"SR/B>9XP('%REN?O]E'$V5$:8.;Q$(Z?8G&Z71^_PUQ\F_Y4-YR] M':2A8]CK&2@\AX,D2MNGPI9Y3;9,-'UD5]^5J,PH60&^ MN-%7A7NA(,G+)DFN%:1 DE(MHGKP'V+H,]E<7+VGP4;23]E199[P-<_.D,/W M3<*/E?PNC&88EF-FTOT^]#<@>W4JP>W^T%%*: MH/HS_'4P OZ_.'F2TY<)^7&TD TR)*NU,5W(9D Z9+U1WTJ'/'#?J5#:SUB$ M17M\WQ^,NW"F[!?_T-L!SYXG."8SOLQ*K_"/#/86_>SJ/4:2<*P)R;+=FH;A M6O2G6Y(H1GY_[I6 M7VAH>DG0UX9PH\O&3-#GPIUBD*FE&Z8@KZV%;L#+8*()3D63?AUK1&A6F%YQ65AO"#PXC/^E:ABSH/\ M0G.Z/^C&!CZ#^:V^7.H:!5M80>UVM-J^UR:9(ERPW)))M*OWFNZ74N;6]DV8 M$RA4L!:*Z8!"T5BJRLI0= /3RA4PVBED*.,N"SV-X],S$]NBA5E'FPV)A>AUMS9 'WL D:+/ MJ,!PZRCV!_9&O9=PNS.K6\#GK)5T!N2UJA($\H MGNO[Q/.^N??(Z_VO[Q;@^]X/E^C[WKP=],>]_L=N_[8'XMT+A5-5*$ER^/E5 M2OX@M";'BK(^-&A -9&!ONC7\.O\!RP48N _C.5-4VWA EJ P26A4D#SXJU$*9@=LF*9KV4X%E-?J1E M6? A$+ 6+'U"5(4\P4)P>%R5;BI41/BF> 8U1,!)%O(3P _!QC(JD#F<]#" M4.% UCR'?0!+@L_MH4H@B140+3:C@-4IEYHR M?^%!"2L9S&1\B%79 08O3-<@YT!,X)MXI #-%0(<)N:G:Y\1U6O8J2F::<$Y M\.G8D3T:!- "7J-E>B@^N>>$IXREBEN2'V5\7P")@@J6;"@F+@2P#W<&V 38 M#2M8XR%CC(YAO<"G$ M0*&[A$TQ?1:.T(:1PJH8L[$0Y1'?E_*,E"B 976IPZ)E]5E^,=F8#*UEJK)S MC&9O Z2 5$V*SX"GIL++#\T(P'&)-3;QT:7\75FNE_"$!6M%G-X,!=HDE;>. M^LF@[EVI:Y^S-9T AZ5+@Y, ?0V,EQ<M3T*U^DPZ::[/XD<&\= M)3XJ\'P8]WU]X[/8Z>1:&/:;U."%867U'@AB2)8Z(-?5EC+&W'B.3W"KAK&E MKWQ?^1[U>Q;Y5UC8;6&PXW!OY\8@\C<7I![)]00_NIX0L"P HP%!!0J=L,1 MU4B<0A86!JK=?QT/;J_>TQ)@2)&H7B/.__Q.?K]5-^ZHV.@7@6E:':Y1HFK3 MB4R5?ZZ!]Q!#??E@$WY/8U8?D'Z0B=+VFRB)UGIR?6&O%X[:-6+CO%R'__S2 M&8Z[P_L_A0^]?@>LB\Z]T.M_& P_=\:]05]X\Z7?^7+7&W?OWN;:J1AH;'BJ MV)1 LD_)RD(-GSN;F-!W0!7F6DZ"+>8&1ND-&[C)MZF9@=\#"JL?\73\##$! M/QI-%V2V5LE@OILS!1> ;%0BL2UOLZMK])#K7I_-Y(^MRH! M?^(49=PJPVBYRS0VFI+G>>R-5ZMEJ=K(NLIS%I63 K9I5VJ-G%+W")1#7K*Y./,N/XDADGCS[7)3JNW$B2/&_NX-LJI48[:E19U9IX)>19WM(\MH(]Y"+MHU"0I@Y,\1@?Y9L+2Q"$=Y#,B':E2K]?ST(8Y01'"")MM MG<8Q_M'039-'Z:1\9]C*K\IU=+W*LW=@^\UZXX>3US%+Y/:E"/)@Z'/%"E4S MDA5[:):DEK_#^WXM(R;BY0(1)0C[V1! M1)=/1 %NM_U$U&PE<_^W2HV TIDI$U'>C-J"BBZ>BD+<1A$(*:'GJ%EJ2Z^. MD&(23IY<0.>L!21QX;3.QH43Q>Q*6$Q4+$EQO3@Q\>2\7#5I7C.=R(O3TVCQ MC3D\Z:YCD=GM6HY5@U/>KIVGUA#D!1K8A1,8IMT#T@P"]I^"N M6D#_E_#3_36.N?/(N=Q@3UR]+\BI(*?D_J#HY-02DTEYL51K)G&N'G)?DV-E ML:#.@CHC.YKB"+MD#B<)5/ C1WHME=E,)?M-:$>RL1<*R5;0SH'NI1CD4TO6 M,ETLU0,JL68GW/+F@4I/:.?).?7Z5)'+=FE%YPL-;P'JR'P!LS@RC$\Z9Z?7 MN7BV^@0+UR*^%)=9KUO;"')+ 7;L9292)9E#JE5+$E>1L=>IP/O+Q_L _U$4 MO&^*297K1C63L+PB*)#RDI&37;26XTCN?'*9#\XI$\Q",3 M#<\3ILZ7:HTDF?-G[7 Y8Z_*.8OIR_:/1*/29&'B]5*S%I[16<3\G&',S\8S MXBH(?BW)2)R4W2U>;%]$_!3GE@IP"O#>)R$D4XY"35,3^%+19T&9\EU RVJS%HLTC MARX4D3\%Y9S&SY2$>!JU9BSBR;I 6I[=4$7OR/ MX%B*AO^-5BQ/K93$4WO.BEM!3)=/3!$\0=&(21*E6,241NVN(D2H0/6T73<1 ML;U2/[KSYJP]-&?LACEGD?VZ'"H1S9QV+$=K\Y64"'IGMP=_1UN:XP\SY6GS MS^'-U'\=5!]^N_U<$4=':Z:.KF.M/6=J3\RUYYIM[US[_HX=^5U[WM64 N%SN/8"X0N$?U4(+X(66FF>Y]HY MPI^G2@.+%]N-9A8&4('Q6QA?J6=B>!Z%2[:KM?/DDF>.\,=V&[6.IM'4JM7V M42,*CK7T+!2:O6N/D_#$O JV,QPD:WUE"::N*C/AK\P3<6CJTUX;_AAN;X01 M^_V9+VJBJS,$FU01V^=]L1<#=X]_O*)4KM0:-<\-1S7:44^)9A'CF&?]63:F M"Z$J%N?].L[[U[5&A&JE..[TCKM:KE0K8CZ/>T16%EE.B''<,\]""\S7H4OE M5KN9\IGO.[.]3'SH8R(UZ^]24CH-8AJX]OA_KEJP" M4-AO<=36]V28V5_/HZ3YF:%=C[^OA@^=NQ())X\_LO M'HX8T"3L"9$0VT&1X'LZ8+?:"8MZU4KMIK_:43;=X_-VAY(!"^)A8053*)A" M7*80$!Z_ARDT&PF90KU4":@56S"%@BF\-J:P_\;VM$PA(,Q_#U.0*LF:VXM2 MJ=KV9XIERA1R<_E\+*;@-O,+KI!GKK#G5OND7"$HQ'J?JB FJRDO-DJMNC]_ M+ANNX+J@CTTLV9%ES"WMN?H^(F+]+,XU_;W)F^VDY%XLU21 MXKK7SCH_L""A5T!" :ZH_20D59)YHQJE>LO?=Z(@H8*$ F[_Q7I;.@L2"G#< M[">A1C-92XMZJ5[)0@KEQC^3^ZB9_-(0O%2IGH48"G)S1!!#8BNA)B>VXKH_ MXW+N/*<;G!7)7&"5BNB5'G+N3(E HE*R;KE2HU2M'+,I3#XTQ3QTA\,Z M" EO5,":M\(<7A!TUG=9US(,*4M2+9D6WDROJ&\* MY3>#ZJ@5[6 *4DK!&12=EIKM9**^WHSK$GJ%)?,+RKQ@'].;1#ZFZ)39J-7# M*=.DTN)ZM\%B\P-LG5%X9YN(J; MX8NVIQ.YIJ+T46_N4M=WL)1:.[QYX[$:O\3R/!4X?^XXG\R'% GIJ\F4ZUHC MKG)]AM*R(*'7[NR)0D*-VH[+C"ANGFH]9@3[T7TY%^6P*;PRT;TR4?!=$A.F M/S9:1?#/>9#,&;M/+MY'$HU$D^4B-IOAO<&XF6JK&ZC0;04A$% M5%!FX1C:[1A*1)GUQA9E1O$.8:&4(@HH;Q9R;LCHO/U-2#?L_9ZN2]+T7Z>A MG8K/*EKW]$:[?DRO51$F5.#^*9Q,T9"_6:W$0OZBA%=!2J_.*Q2-E"2IE8E? MJ @;RB_>7Y8;)R+>B]6C.G+R[:TI@HCRZWUY=2Z6J#I?+,]K7"?+&:I\S)/R MSIKHLQ?Z@SQ1"?XP4YXV_\#?CB.)]?(SV(X -.0G@7_&) K]Z(J_A'"WOLZM MKU]JO?:GQL.O#[>5@#_498,S;\T"HD255R;LQ/[)57^_\L-/O*(SGYG6MMX- MI #H"%.BJES^_7(%&A&=X)**Q16+*Q97+"ZZ;>BU[\;-3P_]C_^2!I'L.X\1%]]DI>>3%366/K<.WO2[4X8(>D;FN6YIN$>'[4OU1 ME7%G1+O^,D*'!?MFJ-,K5LM:_?CNW?/S<_G[Q%#+NO'X3JI4JN\,^/J=_2SS M?]B_B6EM:+R \UPOE[0.KZ#/A7^O9<,BAOKBBEV0E_I:L[#WTHL LPL$'E(% M"UX%\$_7*GMYKAOTL_E:5847(ALE038%(D\7KD'=+R@FSH'>&S(39HHY-8A% MU)>R V$7$-_'\G5PCT]_O22&,MW_^ !%71R+7C^Y$V_HIT*9@1L(=^ MD32GJFR:> OP2&X,(G_SN61:?_0>/M3_:(\^9DVR 71IK_91TZ]\MS'4L>-V M74Z)!BCA0-"U5=?KOO.(!N&K]_6ZET[WX,W""4/B7BOF]G/BK!@\'2\9U@87I<<[OMZ@F=\/2% $K!A67V67P*PQ0-%])JEY\>5A86! M?M>_C@>WP!LHZ@!/N$5_+C" G]_)&^>IE^#P'_=^$J_! Q7_?9.BS6 E-O%Y M'MX^@ 1+J):K\,=Q0=*!T1MJ+&65?_8D&XH,_P+X96MM$#/D^ZF\VO[JF;.1 M&JY.)1:@_S4 ]!FQ:P4!\0;)JR#'@'.:GMSGU>*!:A MH[LV /2K/[.AGP&1-Y/3@6!]DV\*C(4#FI:A?R/7MI\;OP] Z#G]$ZS@B-+* M$BJ*)E3*A:X"GS4% M69L)-[ILS!"$=XI!II9NN-H%[ (*A<=EP.3V94*,P0K471.8L0$X136H0\#@ M\!!%.T/ ;"CLLZ)I1%[IJF*6!/J+J5MR 9DKNQUL 8@M&!QG!>G(B\%*T:@A MIE%3"A0O$S![)F/<^ =%D[4I@%086?#!DFED?D%QH4><#H"]1+$7:HZ"Y5&Y MXL)DRXHLBZGI\/O@YIU9T1:PGMW")NR-/XBPD)^((*]G"F(CHJ<,6LL2!GI! MO67JQM6)K *N@MVY(,0RJ0T1+,*HA#?7$Q,.%#1GV.4;'/GO?VU)4N6G6S8\ M_4W\Z2WZ$U /(%.RA-&$JE@2I(I4H8-@G$F)+LL@*EV$9T6F0S,XA*OU$+Z+ MVP"E@VBF EMD*1QP@I8^_<8U$5R"V/P)71^*]5)B;\GF0IBKH%)3WP?U=,#8 MN 3K6:X@8:YEIE)Z;@/]Y3PX_2 M.X.?)^]+R!'P:0 (&E-PTF S60N*Z%P]7QF 'LI*A=-Y)!JL1X63@>_)"H'' M9_JB41JA?)JNOD,=3G)Y2Q0Q9A3.>F(S&A];\7.OJY--FV>Y@.E]#(6X"#Y4 M1AQ=F 8<@]^*];UMPXZ%!WM/86R0R7JZ();P>?2/DGM@+V@W+]!CZ\.Q#;G/ M<,MN246B@J;&FW4:N]P^U?WD0V MX2N=R4ZJ IEE 50B>CLBK)@3QR4EYHJQA%4Y;AXJ17!J[N^QY:#+[S-X C4# MP<<='F\\0N2M\(;+^H?;SN!FHQ&!',1%&*B8<-U@@BK,QMM$Y^8"&K]VRV&4 MX[ $8T:U-6>57\JCLC G,Q1O@DFF:SA,U,U4^=ETA+.\6L%6J(_86*,\Q"]@ MS_QZQ[0/;[1Y'Y_H?I\N9.V1KF&IF*:M!%+HX-ZVA>1^4D\FKT+9=1!AI^!< M#F)F1]V3CWT=9T\[+ 8@K-EZBEB\H9LPG -JTV: ^ [>,&00Q@O=='_+,1T> M 27R&;0ZL#0H O&[1(:;.!4BNSZQ9)C0(+*I:Q179=-<&W1J>:*O80A@G+#D MB(HPTMK<(/1:Q-%^$8WM1TK.@+,UH6S(,$"K@/_F!JP*]^,B/Y/>I[J)%XVL M$FHML#>8"S9(M$=@=O1+OD54D/D6N6:LX%V:!DO!T'M#5P4=N(EK!P;U0P.; M*0L=T.9EYI/>ZQ'9)Q./(+%B&*S'0EP7KCX3'W?E& 6K66MH&2)B(O_&DXAZ M"L($$ ]/WKXS7ZW!(C8I5G&QA4_Y)1>9SYDYJ*%D"Y&.<9"!$B+\B$8=XAJ7 MF9H.1CF:4FSZ4[#D]+4@EQ?H>'KI23EZBD ZA;(X< N)J;I&.YVS/&9ZZU,R MPSM7Y@$Q$5.ITJB8W\Q0CFR3R5[FOH=UE]Q29GL]*(R8%CIC.A92,UU761@A M);D>=O9&O@/H, 6JA/0MPX&;%JJ:>)5!GA0X^"GRGD>9DB@3;#P4!Y>"(3.J M;O(QH^V1ZB:J2H.!O%,@7T(W$O+I]@&+./>0%]N!,IYRXC_^+L 2:Z.L-; M6[1ZIH"T':JJ?98QXL/K^HOH8\*%"_1_"MXJC5))#&-W#$U2'\<1M;OT/1#" MU#X)IC0OZ4F@UW^YUN!S>F-!5/T9%7+9_EH&]DUM>9B8L:2U8: \X7YD1P&/ M9CDP>T4VO=/JQK;I[OF:F^ML*OQ&@:41;B_+L$\L)L7N#)A09$S;Q''=XH%. MCIJL(R'YR!$L'ICKC?06(/JDJT_!(7ZOL&:5U6P4:@8,]>3_V,*:@F7 M@/>CRG,=,(,)%G% Z%:]PO \,7-KFS5.()X MM^1O1$,Y)(.DUU7")#K7\6&>$HHNU^*XF K&'HHP)D8Q@6Z@V+99^SCS3O9Q<$NSR"&<:3HPU#6H 0S:V]L'D9: MP9K^(V_\AC/GMDS^3I5%RW1NUP"RJ'+(!@"7:E(@,55]1;5%?'P*[REXNZX< M$C60]A:YS%#V&1N^J_[+O*_>9ZET@($0$XAOPB[F^AB++U8B<[Z2QU.ZD!%] MT%J&Q_]6*U? QE!5&L:N[<,UCSN5*L\X2204=-R^P[_+R]5/=_;G^Z[$Z47O MEKJM$3+C;!GU^C5>,]./4 &4!?ZP3J]V]6>9&1\J?Y\"#6R:K7647*J^XX!@ MIAG=BB,U;%&P;3O8HH&!$1@CLXAP360JF^SR=[[&4%N$"U5;>8U%ZM?CN03\ M4,' . @OHB=A!$_$DX1;.3[4P>^B>C8DF<\Q.MK1C#7@8J8I&_1>:HMY;3LY WD(C0K15FN+ M.RJV> J-3=G/5X")V$_'X"< MK4%,/\/X;R$03J>Z[0@JEP0U;Z( Y;TDF)J M5=K95"'I4U=;:5;OZXUH:5(+PWYSH1O*?V!86;T'V W)4G_"DDTGRI[R)RZ MQG@FKO1=]#W-9@:[D0&!'^SSL.\:?BS0X/S08)]0#!>'W@IO91&%ESU^+5G% M-X_ M"=U3KCB:R&P]17?2UBQ\TI067.L+["KJ,#.J 3S93G1U0!@!WAZ3IMH M&A*_FUV>*?U\AJX6JGI? S^9?L-X!T1&X"HXP_8S'("AW_.S<;Z?J[KLE#Z< M*>9*E5_P:T1]X2_*$@,D +A,;+6J/WFUI'"T.D:42H$A^<:0,3'MA!CFY+)8 M= X-S9Q.P8*<.H&L-&1(I?DR,]F2'2N5U[4>?%,.-=U\3CIP72Y!5IOK!; WJ38.J:1E26 M%,%#;.A7WS3]626S1Q;Z8WY35)6JC?+W[5!8)[C/CA!G*;A/[$V-P%'C+TYX M*%QUGNND A\O'Q_9Z7.#)=[=H>^R:^>E0N'I.U-/WR666MK< M9+PSW]W<#80OHTY)N+]_R%T!KOCE$/VW-78U#Y@%@W-X-0E^Q_X/DWGM=="5 M%9016)2AG!\ Y+*HU&[:\E<.#>1+F\(,_J8M17G#4Y4W/%3V>LHC>M&BAI@0 M3?R)/FKY*!OR4M=F)2'=*+)=$B><'VV0:^?[GVG$HRC1,$5Q?ZJ)KXE1KH"9 M@!='DKF["@"_RHJ^86"K-R,'L)PH1"6E@)1CHE[BLK\GKIL=MJ&0:MH!:Y6B MK56VD7D*>HR^O-'U;_#$)MIH2P#84LJ'06LP\.$#,*KDM0HSZVL+)[>?7^DT M=?N:/"'8[39LM-IW_^M-YV/S7Q]ZP]J_?JL$_#D#K35/Z[:;]1ZOU1Q#2)\3ZN"9\(LKH &D,^N/AX'Y$\?QA.+CM MW@%RC[;5G V2'W9>[-P/'BFHT/IN\1,*3]"RM<B2> MJ\7 ZBLGB-[2I63@6KSI3F_XKM:HV6+0W-%8P \_!J!I$4'IHCYEZ8G2#VMBS< MT.)EZQ5--Y4M)[/"+O^9X' 0G+QL! Y9XFEH])"TF?TC3Y2>8IT'3+%^8;&A MK/Y,*>H)T3I(SM'3U!#-M%,T9$P<8PV \=RWJ6H M\!J8O;Q4+->A>TY:V20 EMCZ3!-_I.US#'I-PRJ@X>"\YAN?$&G4212A]SHT M6P<3FH.*J.%^3"?)FU7B<>\2L]2GT_5RS?SPO(*M)VL\95+$E>*8&@4,YI*K MM.8J;DQ]H>V839KRO*E6XAS%YHAWI],=I.E<%/^]VR0@\+THK!*B=$+8@6P8=/FPW-6YE"LS_AOP03ZEF$F MKL:N2GCX(FOE(3Y!>D+;.L;(B^EEJWG2_&6GRYB7Z2J$5U]_NRPKG^8 M@MU 11-Z]F%PQ8\6S'3QJJ%]&,59)&0[&\ S0N$U554:O85%GH!J%'/!*M/- M8#M 'S++K)1GV!/.(M%)AJH,&XH_F>KD5OA"60M+D=]5PAX39[UE[-VEVSVE M!-ZR&ES1>2,M2L,5#J[N\G*0O*938'5+;]TP@ZB**R4X:)I-:!TK9,+UZ,"B M,!0AOO,-\.*%@94]:>F#@$+IP=7%WGSL=![>EE-!AH+\8T(N)E(R_=_DI>[P MKG1JE_C=+HSW1GF+VB^MF\D+-5#F032**(!D3+$VN3'A+=@Z(_"B6N*Q]-@A MDBG)M!4!-D50:6%C&DPJ:Z8\W70(P#@7WH' L4]X$(NW=N9/L$9E#*7FAMV ] #U[% #& MQF*PR-0&REJSUT,Y ]@-[,Q*F!]1XF61W*TD:%T[=HX4/,!+U!GO3[(I<<5L M1KO*4F -P8+3G(+3W)"IS,NNL%J?:$8 XJD*4 Q#R5(,5F2WI>6(1O&%HI>G M#*C)R D?P3J?F\H0CK? \3&4A"F6WD7:V8GCVY75 U#,0_^,-VYJ79:%CFKJ M)3N8W29%I..-CX;6!/8XOG F%F1ONQ20ZGGI-9O!8NU1FSBX7P7A-"&\=(ZC ML4TVA\$4'LJ/L'*WPD]"YS8_\[8]\NK7--=)\=;P=J0 O.(2 C@QA;:"*A,I MJ.[$ZGTJ+J$]KMEXYO^N*E9+^1O38A73X[KT>IQ9*IU=;@\% %-277[#J(OQ M5 W#$:6*6#VU;W?;_*6%<"3Z\:/!^L,9\I(\Z\8W[OH]V8J!Z:YM=R]O\T"K M5L()C]"DU*EW:V \RII; \&'Q\!G9UC@<=,_#UYN/M7_]Z\M]N_W/P9E=\MZ +3_^U!T*O?Z'P?!S M9]P;],.O=T_LZLXPAB';X)Z >OLG"C$JXO7VQ>NUBGB](E[OJ/%Z(3A^>D'W MSZ\W_ZH-Q(^-=KW7RD4,WT-G.!9ZO5YYE[ Z5SS(Q9D/O]Y\Z37J]7_>]J04 MSSP+Y48$\^NN-^S>C@?#44GH_G?W]LNX]WM7&'SXT+OM#EE8V^U@^# 8=L9= MX>/@]^X08SF[,36@O$=QIFF$8RTU=R@'FB8R]4%M;IX68 .!Q#9/;7(^&/I* M-\%0ZE%C4_RIJVY\MG>V@[AT:G/3,9 W4.W0SFYH [)>BN[U.M=UCF'*/AK0 MSC_VO1X1/J*UR"XH6.<.\]0;Q55>;;PTZ)$GFLE2CMR[9WWM\#K'Y](QKU*+ M(4DT0DC',GH/S++45X;^_<7E/T4G#NU5I&EK;.Q$B,6[K9D+V2"\/3?WX"Z( M.H/3>A'$*LLO$MX\T/%&]GAO2WB=BO[FR0NM$\*/F[HK:(-MS(H_8J#2N0NT MT=>;\?#S4/QM].NOM3,3:&+9)<5N!Y\?NOU1$I/]-0NL_(FI;!@_B#\WP\61 M>ZXFN_D1A["E4Y](L(PZ-6#LMK)>@5"(@X/$P?CKSC].P_&8W?C)C._G*M^ MS#_1<09]^FW3;5!^DA65!\T$WJE2\VZU-J8+V>35<5'X.$VUZ7C7$WH!+&.[ M%1:.@C$TM' -M0Y-09ND<>,L6@8X=&0-6N["&_)68HA M8!J+1=L";I0_[#EO^HK8IXR?[*]L M"1Y4@3W^[1,;\Y>KRI4P):K*;Y;P]]WEV*O^$IM\%TVQ66[5FJZ]6/K*7C3_ MQ&"C>#YC&_%\I"SE1^(JRN*Y-X)%K"R!]GL# &HS_1E5(]!LG,LQ./]ZF580 MV5JV4\23C>0IYL+NA^2YA9"6GW1EEKP R3_&] 3Z< )#3M/1:D"%D7S4+K?= M, 3'Y#0#V[L@KS19_N.+P#TNOJ:UVX4N[1/&\Y4D/.$XP*854V.7B(L'U41M M@%W3M:-?94QV TFLBF6Q)>:8#'P%;MF N\DCX"+N_,CCC?R6$.^;PKZ8RH8S\AB-A48 M).NEQE *).G;$+0**\XOA95FG#7F5=**:%0X?LP=N+)WIDQ5TR1HT5VN5/V% M$&%$C?">AGB+3O@'.*>?S?7J/99;A']25-O/ FHQ]/0X.GIV6"6*6$/: 1%^ MYHURHPPV:WRK-<52O5Y+3<:>!2[%C5^+J(J^#@[E>6DG#-U_VS[AOT5_7?#\ M(];+8C/(65=@:T36MZWC9!/!&F=%A\YJ1 &2Z,6PC%2=AM$$L3GK_AM.0H> M[.MWQT\@%7Z"%/T$.7*(7K([HO^N4QAW*;@B+@Y=+T;]\9QI@>XI^3(N#M]S MZC*I-DK-=AR7B;0C:BRZII8+W-VE620+S=2M3<1ORFI:[B&6"UTL AU[V8%4 M;@$QSO0U7K0ZE2?.6.&JM:KIW__D OERKUEEB7SGH3ZE?6$D24>Y,,H_R'.A M267*7$_LW*I6ZB6I+<6Y2ZH>S[NU=^QL([0W_7 /C"[/TZ[R%Z:2#GQ.IJ:D M [F(@:"O!I.2Q*BD YY662H0Z7(0*5'X2$HL23H?/ H5]RV?'V0GX-Q9@J(D MPNZ;5/,$ .*,LAX(6/H=:\;_>ZT MGDZ!C#59/_![>@K'ZBG;4YL M-WGL&SN[XY;>TN'?PZ&/V+'*AI,3-;%K-\/\]E'^PQ2(74D,&V4XK22)G86[ MZX9R.U?;=Q#^8J)%J0XLU?'EZTWS7__ZK??AP]W][9F5ZJB6G:(OV[[D,7_BJJ$Q;%GG87>SITD:Q0E#TG MK&E@+Y!_VUF#6-RLJZB:<8&\]O>O-Z/6YS^!]=S>!G8NSS&OK96%AV&O?]M[ MZ-P+G=O;P9?^N-,?"Q^Z7<9O1]WA[[W;77W,"T:ZCY&>GH]N:M=U6"\^)W_V M07ZA+ XPP?@8:=F4#DH:%=(G7.1.B(DQ)*T8?B ME,KI'U]O?F__VOU#^J/[X7Q*.+->%;_[V'\*6F?(25V..?+?7V\^BNU^I_7? MG\[.'*ECT>Y/O9O>F%D?'WK88P)KLH[&G3&K=3JZ_=2]^W)?F"2[_+3RVS?B MVQ-JTH?V#BA&8"-L>G$Z>C-0^YBV5=!HP#%K!QGPF*#831(53>C!AT*+]8L% MO?L#6#@P\?5O6._65$R+]V0\[6:=^J.!U38]BO6.8IC>\IJ8.F4>JB+;/H%P@6(X0S*58H,=Q10S>S7FN,V?W"Y$-4T W M\RR@]C>B"9YM<:CY/51LX&*0!0&-\(E@33E]20*/-P%?29^#%+SB7-!*-A?" M!]#L"UZ1DT--T]6PX^!I0!V^_9>6ZWUTI3>D+2,$+$(R\T+WB&;C7KNP[TN/N[ M[XW&V)[3O@Z.4TM&C$V\J-L*GO=M.%3+M5I+:OW@3K*1HB%YJ$!) "5?V - M,D78A5L\WQ?*1+$$UA B74P1+XP4PL\_,SI(<,)WM#\C3;.+0Q[5PV5;]<)D MF_?\J\D%FSOTBZEZ"\M:_?CNW?/S<]DDT_*C_O2N8TP7RA,QWY'9HVR\ RM5 M?M=LM&JB^ ZUVE:[*5;$ZW;K&GZI2M6R]=TZ+@2KY4VM+CDM'E&]:!Y1C%,@:R\EO&>4E\R-]B8TBAN],K8T E3;.&GH M(-PSB,'SVEI6X348P\(TTDV4BMMM%^2U$]OMYMMR" X7C/"L&6&E5:F(K5;] MW?0%CKO2JK8JXE?RO7HMEA?6\MB,42H88\X9XRGQX^9%E9_-+:X8GQ-.UX:! M&3%;K*\%G(_?JY"5Q;A="Z\H*JWXS,Y?8#,VXE8NFME5\L#L8$\5J2;6WLEB M Y$:$!D$8 :8_%^U8^B E8MF=96L65WJV)'J13"RWP%8HU/3R7Y$E1%TLU9@ MF\+XVN-IPY/%2@R._5E^ 01!9BTVWFY?(T=DV?']6'L<-9?&LL5TC**B%=R]=KGU"! ECRKN*+GGXLEU0BS*U:(IM+2:; M%!F;3*#32HJYTH]%>XH731WE/*ATTJ9 MLL9#IZF6J_ '(<<^Q8&I_;W_/ M0WR<[^>J+CMQX#/%7*GR"WZ-QRK\15FB9 '(I5!7GI.16T[N:W$:422"Z2!E M:CH@\PCAOH2<)?X3^B3.^!E2\AH$->0K#$/8MC%0KUQG\$C(-/YM('3(;@CP:%%PQ.C0E MAH#X!\4&B,L%G,(#>-8>P J8,&)%JO(;R(;8;K8SN[A!KW3A LRY"_"D&')/ MT+/7>30(J[LX(=8S(2 2%<.T;F55Z&FS-9;,AQ\EH3/]]UHQ%9;;?7]_2SV M[MMMVTB!?0M2DUY'-Z*;0:'1/TF$-EL$2]NK-&+[#W#46QJW$&K4Q@&:K/C3S"\*0R[O;'P6=$T(J]T53%=S+GD ML.,PX^KT7%@4XW/A]N%)V75N2ZF)V(9N CIGYZ"\1;;)AAZ=$$8]6 M>D2N&#/@AP6QMPN#_4(-=CC<2JU>X>:85)%J+8;R[6RX8KVPV/-NL9\216Y5 MV5#F V[*^41.6/["-F.A9E]N6:VB$TZ:B)7%^"W=L-.\\@@)@Z99Z.PL'-N M89\61UC4!N6/LI=3CM83?;80?ENKWV1#4[C&]ZL,C,X K:]*.5;Z<^( M9MZ6YC^Y6R-M1= < _G&"\68!5W*O.%='IVO>'/$MP'7-<"SFBPUQ7=9\W%P M?]?M"Y]Z]_F&O=N1\+M8/@P&-(>V0E"D=,+F:,>3E>F1>1J1(5) MGW.3GOU((TA!Z: JQU>,3!>EJGB--/<] XL-D+95V/2YM>ES@2-C@F6>7UQ* MJW0D^#Y=,08V(\*5.8:FRL34L8 4!EX'A$N%>6BL4S'MT7[)LG'@SE M"3OZVD\R_=;1,5LL9>/DOH']@5#IZ+-'CTU.035%-Q.H_36J';2_;M,2XW'[".H# MF1C48I3JO!Z_AZ+8(#'(ZF"KL?TV2JQV<6.;[QM;+J3J5$A5'2%5RU1(H8-- MK!27MKF]M,T%EE#N!(S4I.E0.LL>V3#MM0E,"OD6_^81#$N+]KX@/*/*3*Z$ M',PM:\75Q*5=3>PG"D"D;'AG^KDNQ>U$=KPS"S2QF2=6K3&4*;(_QD?E9]F8 M!;%1^D52_BE6#4/I:/>#P)%HU__P3W ^% _;:0W%*:\7/R(K0*D/" MD#PJ)AP!"+B']415ID)G.M77F@5KQ]33902?2B'7,I9K55'\6LLI0ZN*1TAT M+T1;F&C+,RK#[ZK&$0ZI8Q2JE2D0LG//3.4OM9S2@' #(NT]"R9 M87Y1PS-PG@@$;,F51Y%ROB0;O=J>6K#[!F;5^;^*[W?JT3.0G#/551*SW&E](T[1313F:A$N%F;6+?*%(;TLA.=N_>R]KB6'PDGB1^%-\I;?OV@F;JJ ML"B_&UFE&;>C!2&668*'@IX:V0M!Z3%8$;9S]OC.Y^F=!]YW&&2!:P7!B9U, MEP1??=K_IFPNA \J'"8\O_]Q6K=XH:LS8IC_$+K_7BL6-D<%"?WFB2^SKUO$ MW%P5NX;:@'TS:#F4JS Q^[>TE^:%\Q.?;+%;Y.A^9H M:\>@V],_:OJ53UINF&*PMN):N^OUE)/E&AO=92?]+1S%E27%73.MY7I;:/)O M0>3[OO(]*D^_/1KZ6IMM/PH0>+W5^S'%+\J?X3R!VWE2QV!+"%?V3T[T.>^:[(M9 M^,$%_X3+N/*>HOMK*0+/"'5Y<.*8KDW PAM=_P9O?7.(9$N5L)4&'T:"'8D? MS,A<7JLPF[ZV<$'V\RM=P1FOR1,>(__T2E!FOUS]^?5F]/L_:X-ZN\V^U'-, AH M(H9+3>&N +&*0DRLOYF]M5T"KL+TW>_3!4HWVV@7V]5:B8^'=_H8;2PL9%.8 MK=4782K3.#IKH9AVP!O,/@'Y 7""+W26*C(A"UF=8R =#@0L#30E^@ =V2!K M#=ZB \IK:Z$;L*U9V4.$'JG$N2C@JPIF $# _FF[MP9"_T 1-B6JRF72+U>5 M("G&%[5MUBV5V4Q%>H#%X49^N9*.;,;ML$8#<[]"5FQ#K%X_NN$9R7[>L\S: M29>9**D.+?[C+;D5%;"G72:';$@^>P'J[)9YSH"-I&[S;[E'A=K>V]\Y_L0F MW6T.2,/C(U,LF'@*([\SWPFC+S>#NT_";U_N?^L,^[T+.]$<@/[J_:N;_OO=? M=<#$L/H-'!A&2O5FN89@X,564,>^8M:H_UFLWQ7R+"[LY[_\#]%FROQ_KZ_? M1_0AY4J!C:BI;E115%,GF.#,M=$)4?5G6PN=@\ZH/Z/+<@7:*/8[ 665*ZI\ M,I?&BT>N:*S**ZSE3LO:HA=7J66BOQ[^( M3&.54NLLEGDFP#S^;>5Y*7NAZDZ >V?[&NQ'YDU "04+Z)BF<4R M\[K,@IJ*91;++*S E*W S[W;3YWNO?"Y+(RZ]__J#H5?A^7S/=>\++,P!@MC M,,WM*-.%3%1*I43]#S%*PJ]&0:;%,L]IF3DDN[,^9J2 M3073N_DOGI]8]-OWD4JQ^AK MB#BW '1S=]&S_Z:SP=?64GW__P%02P,$% @ E%ML4J+KM8%$' _4 ! M !$ !C>6)E+3(P,C Q,C,Q+GAS9.T]77/C-I+O5W7_ >>7G51%EF3/3,93 MF6S)7Q/?>FRO/S:[3UL4"4F\4(0"D+:UO_ZZ 9("19 @)=E#[_(A$XMH-/H+ M0*/1 '[^\_,\((^4"Y^%7_:&^X,]0D.7>7XX_;(7BYXC7-_?(R)R0L\)6$B_ M["VIV/OS+__]7S__3Z]WPJD348^,EV0TI]QWG9"<^Z$3NKX3D!ONAQ%@(A>A MN_\CN6%/E"O@B]N+.W+B\#$+>SW$]2R\S\*=T;E#@*)0?/:H_V5O%D6+S_W^ M\Y@'^X*Z^U/VV(>"_L'@8- ;#'N'P[T$W&5Q&/&EN4I2:*@FH@4WU\$2J##\ ME*\ (N$LH"*K-''$>)_Q:3\M,;0"15/'61CK8(&Y2K1!#7Q6FH)Q.,KBGIZ=]'?9C'TI3P)!.T1A*@8_Z**!^ I;5 MBN?F&E[$^\AI'R#0M+(*+*Q1!PQKK1Z86*[2TV%*V+#_]V^7=]+Z,N"@E(W# M_M\O_?#W%#* ORM@L7CL"*H+WJ^ ]T/L:^X*7OAVJGN%6@6JDGK#HZ.COBS- M>LYR3#-(_,'9(O)=L>^RN32/S4SIQX@",YX_8"?R)C[IT MHHC[XSBB.8 XU$ BAT]I=.7,J5@X;HTV85P@1(X,3ABRR(E@C)+?TJ^+A1]. M6/()/B);GU.!W]()D8Q^1H/XLB?\^2) ^?"T[W028I"!IK MA:*D+4,5 5*1I%VN&DY1.-PM8"DH I"P!>61#WUZ92W]G;'E.D%3MJ"*&P>M MYLJCDZ9<014_]-O,5.",FS(%56CPLOP@GGO@@. ?#[<7I3U7$G3*W!A'BE'H MG<'L'RTOH(_RN32F/>+#&%P)D;6=MK[2VB\#&/3@/](C*0K]3T!'%#ZB(?RY MOXYEO8%84.\Z_$7^O=Z?D]H)2%7-O''5K[?6U-N1FDDE'+*BZLT,\PT-E)KK@&B6N@47+-/ MGCAB=AZP)TN77(%95/>^F>H +9%X.X755-A=Q-S?9RSP*!=G?\3@XU5KS@!O M4>&'1BK4\?^)J!8Z9:XI\S@6?DB%.*7"Y?X"&P8?_+9S0HW,,N*FNF?]H4="!04$216]X1%(DG>37%]N9N&[I(PUC^)_+ MIHKT>[;PW8^#C\FBNPZD14>'!ATEV(B&#KY*C 10=AI;T]@WA_].(V<B?KPOQ0 MLHQJNDH"V7\TSA/=6LBJA'/'YW]S@IA^HP[*3?JR2@WF(HLB?C(H A$1B8GH MJ#I=E$[;=S.'TV,'FD(C!@O6X^0V*(N&/ADT)#'U)"JBX^I45*JB*QJI(>6& MT4 2R*.3(H!I D(QBTA)95= Q=NI94\]7QKPG/TAV*;)?%L&;EN9IW4[$:R)60\2]\YRZ MK?H'BZ!-2^QDR)'U.V&O#S=JZR2<7H(SDPI\_:-%Z*8UFOR0H!))R@=-D^U&+JI[$(H)AAPM0W%?*IMQ9S'QWQ*$W**UN@\"B M:]/B/0UBY=O[,1<(SIK\4=K$JE4BF^UL8'US%3W86[J(N3M;C9Z%KQ9MF9;[ M$@?1D'2R+VZCX?1"P]6>2OZ31>JFM7T.02?Q-8G_-79X1'FPS!8+6@[:0^C$ MGB]SGE$5-6$M.C*M[C/,VII%PTW>9=B[_)V*F(P[HUX9 MR;R$+E"(SMC@JS5Y8%IYIC@)FY ,JYQX_LCP=BHL5>$&.\CY+>C=H*I4/.;\ MR@R\G6Q*DW?I7UW7WF27]!XWS K*M\)7:OAP<'A8U+!EQY2\4Z@[-=;9.M75 M5E%N4=-[@YJ,VZB=FZ*2^VJ.:#036F_;Y.,XTV_G3=5 %8M//1H)V2 M3PT]L&6X1FE96!6;3UR: MTW9AIZD-]@UU M3=G!+)HZ,FBJ>@^QTUF-G2Y=1\7/U3H9#@PZT7>].@W4W/[*]11CD4430U/O M6-L*Z[3Q GLJNN:V1V/1\RM#]T'=GF.AMV<*A8:2V[O]T.MW1GMY=/)\[?'D]24!N*)=. M*"Q"KL>!/U7+D)SJ=X_6;B&%0=MJ(0D%>!(]A=6((!H5G0GMR(1DUJ?C1B,A M:(2+X_3#I>^,_4#N#FYN24VPVPWJ_38&E;9,%"W261TEM5DPDD$S";1 MC#IS]+8$IV[@""%O1YQP-A_3J1^&X(2YB;2#E; CQA5*RSRUZV;LMO:AGJUE M%L8F!&@C"7%$IXX@>22CCZ0$$HU"$C&2T-@98+-4B56:FJDT9UB;5[<8S'N# M/U22:)%EP,&89 3I]-],_V9?MQ:D7:L%'Z9$JYUOV\@QJ>Z(#R&G3N#_BWJ7 M3(@;)B1S)5[(-JCL^B^X'#5Z]:I-@HV2M-7.-'8YL)]D\^M(X,UC>%G5HQ-@ M2LZ68WX-S';#*?@/FTX'9$4.N*[JDC6-HLZH&N7NE<6T[( 6E7\PQK5,^7S= M5+%AVN6,GDTFU(WD*N V<[!=%1% )]M0"T?@B)TY'%UO8=/Z+MNP&TS!92Q) M (5UA:(J7644"%-+#'-UI.X'7%^D!'9V][WL[@38.7@-XU,-V2VPX-Z^N@62 M=TAKMQM3RQ139X%-1JX;SY$R9/#LWAMWIQ>L3V+R7TTS**EB?IE M!=!VB>^-0>*$4))22A)2L^AQ-Z$V-4VS%UX/U&X0A4FMU" Z5WP'QSC,RFQ< MRZ+7GPP=O?QH1Z?8'2AV%261UX)?JZ0>%\3J1\M&RJZ%R6X A8Y=;@!Z6$6V M2:Z3'*&DUS">JY MOU2 WW\+_W+?E8\=@.BW'&/JHK7;3R&(6\]^@(">HH"L2$BLJAM_=F!!:7K) M#0<1/JMG*@I09\_X9S.O9"/,=COZV,".5ADK0$,/B$B>X2 &Z(20SI;*;:EP M-E4;)[0B$*[OPFKOU ]B'"\0,C]][0*1Q5(^&7Q<\X'8W&B3AY $R(5K0H*J MTTU938S$O*:Q@]D57/!AS0KN%C#;'7]>=0VBCM]E(8 M(IK82T:'G (R2HA.2F<_&]F/>5)H4L&N^\**U:;[;J+8W401.>'4'P=498AO M,DN8,=C57EAH-ILBTF:3W/;.%+8TA=&<\P-IAM=N-H5U91.S MT8E)5Y)R*ZRSIYW;D^ORF'J)D#?J=HK1:D##AL].E1I0 M2LC*?FZ[DW)UWZS*&<#ZQVH=#@>&G/8412?Z.C?\Z6M#_'A,)XQ3#2"GGDTJ MVE58"#_F;PG,KR1EB6HL!]=UM8;ZON'LT1= PS$-@9%(KO,:J+U>?;OV"\'$ M!+0C"WQ8EBC.??PMQWSU16O79W^#-^ MMYO'5FCM5E,(0Y9;S8CD:<%O>%X@HXA@T^2>D=4I BVY&S!*@,ZP:AF6.09= M!6!7=B'XF%=V%V%NV/=7U^CD^^AQ>@/$*/3.0@__D+=%7$^^*"%_K77)1J8%R*+0X7O[@[#=9+*)NE8G]=PL!81-6,Q=)B(!2S66P@<2 MODJKF^*R*[_&%>AZ1'G5//X" HBD@ ))*.!*"(Z6]G 5J(9G<01GG4"/UP= M9V,3*<^@; -B)ZCLEE+,AZJT%#QNK)HGJ_:Q0%*@7Z+5V4EC.[F>G$O1?@,N MYO%<%MXX2YDF=$O_B'V8=!]"C_(K\.#P$L8 CTCFD8VFG)K2IEZS1;O5%?>_ MRJT./ Y%)$FH5" DI9.DA!))J4SX7]&ZCIFLR.TL=,O'T7,6UJB&Q4),]Q(W M>"J]T^M+//"Q?B/M\?*&,R_&ZT-#XY61+]:(Q7JJ[D/>ZG$0PXVXQTN2$$B0 MPFY(>5G3.Z$'V-G05K?_:7+L& MV)GA"YOA)8-%'O1W+PDN1\K3QH75/3MSW-E:S62QM7[;0$MHL1MS82-EY\:, M7/0"9",+G6N,X,XLLK*.Y$^"K-CIK+[L#Y5 M9T4UI-UT64MC]=X)S*FO616++DV7EC5Z6[#3;%E?S(;NQ^SBF- #V0;^9.F' MTWR7K ELT>8G4\_4XM<9\]C'NP+ZNY/V6/?HW[_8' PZ V& MO,]QF?]F/10[T+JT12(O2:4\=9*(G0(!(9KHWD M8L2[/4'X96MZ(N@5NY*0Q+4=18)'S8E)*RE"X-=&-#P]/>U+O(CR8# X4K-) M2*=XYJ^4E%RU@/-L./FQ-RV/=#$>&N?#TB9!7\U4OK(1F'2,8V M\CB40^D8YHVF9*3U=D3&WW&X;T)#L''#3X<2S?#HZ C0-&T6X+=GV8MX'SM6 M/XSGX!VZ]2A8K[6](:XPLK"W(2TLO-J"'%V\'^0O+ZJMC[0"MOQA<^O[V.=T M4KM1"8TM@DMVT#OXJ= N#=2Q46P8UO%XL>:%$#'U3F..#XR#K)@G+_S6KI(5 M9\^4NSXX.K#*Q^LY 1(W(](+.A_ FQ)7-+J>J OSTOO>O9%(_#WER*+S_,]7 M;!-MX,L>RL?_/&1'1.3IF(-)X#%@CF8KRE;-XD8+Z +)'0C^0.4E? M]B(> [@#T'AG_9>]B1/@D*2 QTZ QXPQZGG1^GGA63J7A+@Q2H67*&(4^;& MR1589^ 51TLM@#5*&M9D6 ]<9Q_%%DYWP+SZO1&39\]H\TF07GRCB/A3.HY6#Z^8G^TL&%63 M2B^CKFUZ31GU7X&TQBR;*K6/Y1/&80201Y%U-O!A>,HC]9H8%7C&;(&\%+C? ML'[[!)%D<*8WFBCO,=]K3>5Z_TU;^>Y6#$ZI2-(4LMMJ'P2=Q,&E/Z$YV[6! MMI _W$+XE0;>19@\!)4$??4QM@+F5;UWCX[-SKN*:$05;!['P@\I/O4F7.XO MDLU0+>=D%>N^88'O0J^[A K(BBZ)[="TS=]"8K-'*O9$OWW>$Q?T+'2G[2XMSUI(;FYI\_1 M<<#(&UOMPN,F8$:B%/HT?'EVB!V#M''[JO8G1YU!L/T=*H MQ$TJZS+PPXA.*7])$=C7 VG+8Q5E.1)9B>BM&IKP+>43&?Z1X"+^P?"T':=WB M]8H^7<'Z*4DV//4Y=2.829 !(VLUX5O'IZ3P*\8TD4R8+ U<%,,KC6JU+]:B M^[K@XJX]2RK=VUL1E[!=OU[[&$]]'TEO(5H@+\[0;;H.=.N<)I-6[AE0#H.G M_'*+Y&MLUJW0NB5-IA])C.R.U"OIC \+%M[2LP"WN'.+@FV0M$XBYD=D1[AG M,Y5PQ\MB_OJ3P[VD4R?LWS,[][!V3DOT$>([$?"?K(GO(_Y_5YF+BU"%AVR4P+I% %EJ[P!NK0N&[1AF_1 OMD+%] @>>.,,W M,7##':B!R2@[?"3]Z>1T-3H@-RK=RIG27,A[,P1MR^)*XG6Y&]0H1ZK_01U> M#.R5 K9#\Z\P@LDT1K1\-<#\1OWI#,;ST2/EH.&T9]R M[?+4:U1JSDCDVB_ M=_*DP_'2;Y&^H2U?*8?E^]QM$U]F%^OY'>L%[1'6HAE;X&C MA?N+23=*I[1;NG! 3WC<43UZ<]3*L%M[3.+< M?TZNVX*Q6WL967NL^(KF3A%MBJ$=7JI]?5)DD'K@Z068F8;9)_#]1*I 5$JE MO-(;%(3V[LF3$R2K-A7XSNT#F(I?>7^C3GH^6 AW" C^E$.UCYG[&,0R>G#ES@CO7 MD>^$)83C%$;YH^\:\O";5VWAJ"&/#JMSQ)A*)HQ!QVJPMJW(9-+L68RO"Q7' MCF)9^VQ2$CD2OF,F7R]I*?&KZUW3^Q?,K)3#M8\Q%'OZ_D>!&U-A^UA(;_*] M#HL]PU#6NN$JI?'^B972KY6UEWZ<.+2\YS N.7(!),I/K]6NT4J-?J,19P&;I@]852Z5 MZ@"W3J/&,;CTJMC&HWD33*V3S;;;HOJNW^XW78W8V[9,K<'D]22[@R0']!L' MPD[9DVGZ:R;&S5IHFRBU+&?I^)7DKQLKT#I.#0]N&GDQW9;1L&;K>$^SV+-7.RYP/R8(Y)+I(OQMYKLS MF;(%"Z8@P#/-AA3X)I5?>5N@1M9D%FV$X2@=[6$22'/.9L/ M!PFR:_X-@#$SQ3/,&GK&Y7=HO&T#;+)B0A[. G_NAXZ\EB1;9J7':@W;G4M@ M\"'T?)%BEF07Z!MN+H&_)[NG6,95?K2&0VM&4.JC>CMC2BZ]4%\-FLZ0= M8/*4Q>-H$@689JG3MJ%(3Y)0 M.$4>:5:/QNBJ E\[#=.R]GL)84WA"GW[B07E-9 M'D])>>M;(,GMT_E3WZMB?:IK7/-U=Q?K7.(BC\6I MN29=QQ<)4]![Y MMG-BS[6K@&Y=SZT3X?\:L#$^?9NF1U^R)X#;Z A;-:JV+7%^]:>S&Y@N?Q.0P;X9AP'\/T]"@LEJHVP>+)&!FINUN]C MKP7=PE'91#?T.0J3981]4AX&\8P9ILVKOFJGK3-H@WV JW 1)@_9A]-+_*V? M^F#\%D]/P\):T,)FW:8(WDP?*)ZLR[;%Y<$R\#7DW20/$;"KHC/R8E;J@!.& MV[STD09L@1B-IY!>"/];\1I2WS4-')@NN]+*6K?'DX;9,$R=TIFMAM/ ?_I$ M11*SS#W6L4GU-]-Y5M=]*V/&83*+'J"3>TRG?JB'*[5QXYXE#->X37R7Z%N9 MMU1I*'(84+:2\)3]+_5#ZMI<+50ML;]:AW[49'R#L7,<.?.S5'XFLX&^E3'U M1CV8G83#U]@XCS%%*[GA(-USR\4YFU=NB3W8)3-R774,7AX+S[93M-=(\AMM M5N WPWDA':K47:LZ(5U1Z:UT#O/1Y@H/MVZ%-V,*NC&O\N2*OHD%KAT*WU'0 MY@YLVEDP3HMO,#:,V51B:EO(YII[E!\[[N\!F_Z#1O?L6)OG1Z)H$W4KM,,X MPW,$8K !ZN@( %0 &-Y M8F4M,C R,#$R,S%?8V%L+GAM;.U=67?;.)9^GW/F/WC2K^,X256G.G6ZNH^\ MI3R=Q"K;J>IYZD-3D,4)1:A!TK;JUP_ 1>*"?2%!N5Z\2,#=\-V+B_VO?W]> MQT>/ *413'YZ]?;UFU='( GA(DH>?GJ5I\=!&D;1JZ,T"Y)%$,,$_/1J"])7 M?__;?_['7__K^/@,@2 #BZ/[[=%L#5 4!LG1990$21@%\=$<14F&*1U=)>'K M_SZ:PR> RL)7-U>W1VQ8OLIU>K M+-O\>')"_GT-TGIY>/WU7EWQ[\L_/GV[#%5@' MN\)QJVR3[G]6CVIJGIO M/WSX<%)\BXNFT8]I4?\3#(.L:%VA'D?,$N2_X[K8,?GH^.V[X^_>OL:&?X7; M[^BH;$$$8W #ED?D]]>;JQW/<'L/$-QD49B^#N'ZA'Q_OPSRB*0PF5,"L51 0XF< WVC38+PWR=QR0.4K('D MZ55RD6;1FC3%;P%"09)M/U50W)K8P+8(;HUQE>">XB&ZC\$L34%FU/I&_+35 M+%WG+GC> ^YZ26(2%@/'%A*6KI=$FAR'E^T-ENH.7BR7(,QV?H!(CT M29;COE6)W.+AXM]YM"$?SY)%$;U7,%Y<8=G@8U':.4+D!7!KB*+0)SM)HQ$_ M;36_@*P$TAR@VU6 P)Y9\ZO3((U";.SS*,YQ!U24--'6"MN!>OYSL 0([7O= M&^-H\7;#YL@68!U%.H9OT-"WPVC-(QAFB/0GY^_ M@YLH?/_FO98[2M&UFB/;2G]-K E0]!B063HM:5K5;29CEI(G Z$N@PC]&L0Y M^ P"@HHB6NB(Q2!DP0&*R873("T76[#>^GV1D*8%<7LS*&:24LBY&/M8'M<8 M"/D1PL53%&OUW?NZ-M)DP_37WN*?A54\ V%FW[]Y^P_<[Q;-CM094 8P'B:+G%5C+L!(74+:B@D<.; M#!DL,7::M]^1O-90.S%UJSF\OL@\:E;G-;4EY!"SFU;KB\@EYRS%MH%3/F47 MZ;8-J9E$7:3>^@)+$+61!^L+2"%B*R3RO)H9_D*VC!#4&&U5$Y"TN$^] M3BYMR*U"W6D>7NUS)UL\BR*XLR_"# ZIU_=Q]% &50--'0@QC$'.JEW]NRT8 M]0=V=GZXD\7JH,<&V.7H6FA5_H:AKPGN^>/H=[ @6R;F,"UL;:4)C1@/N!GK M;'> 99:2A7*R"/H8Q(9[>]S(87-@;*>KD2!K=[!,_Q BFDEQ4,#? -R%7SR' MQ>Y,_.]3@':APJ2%AY3.K@EMM+PD86=S$#9T4.?A3)U]:"CV8UR7Z2X)\H"HM-.UBZ02$A+80[ M@]3)WAQA7L_E_J1>J>KOD1X<$0&1H5P][?B^,.U4&;]&MV;VG[M3NY;$WB6PD:(I*VC^!?+R^+ MNR(^1TFTSM?%E_-@6V3&-P!W&0@LOB8+@'"_&I)YG)B,!]K$9@\(F)_('%0^ MM_N'#,R@1G^,99[N'-_I=H[@(B=36(F%F51W(HUJK#. L!@)I59C.6ADZZG) M.(8Y+<[8VV$_"J8:MSE4<&^7& E&TF*-:[1/$'<+N T7U1Q\5L96TFW@,6U49=3[S0)6IJ6L"],T4!C$(;FU#-/'6=ZWEJ#@.0-X3+#;$$V,-,0M M?H5XM8 Q#%M"Q>0*0XA$YB.?_&N.0(I-4*Q5["Y\J(5K#8CJL5!-%@]_0%S2 M-:"211FQF#:5$W5+-._'7 ;I?7%M8YX>/P3!YH18Z 3$65I_4MCL^,W;ZO;& M/U4?_TM&O/,<=*RE6;NRDG+MMG4:0)ZAMJ$"M#NXB?]LH;A_NV55XB0EZ3RA M=HQ[H'5=G]PY8 X+:&JKL[VR1S\>:8ISE,$C93$@6@#TTZLWKXZ>0/2PRGYZ M]=9SG'[!8>P&QICWP]T3B!_!9YADJZZG6Z2H@6"_=O#@3T6P#!W8=.S ?V2WLL#/\6.X\*_%*AR@'<'XP"7,$<6\=\D M9P'^);D7AWZ*%4<%?RE/A?WO#@?[T:/-V-\D9P/[!;F7A_V^%)9@Y2+,YV?-& MIL 9M^ TYVMEZS1G9\5U)CW;J&,7:W.,DLS[P\SCW=3B7T]HBQ7.EC'O31"+F.O[D[>J=34[/>]49H.9(MFT\',:8[6TW)%%QG4 MC$BG+U4E,G+,LH8C:,F.E)!F*F.S9U65S>OY9)'B;QE EZ[7P;9$O0.$LZJU M'"-80ASYV>"!.VW*>52=U]E&&\^1G*5-\?W7@4PL)4D1043"BEZ,+Q5 0]T84C&R%9"KM:PUD0>OW8U= 6]Q W6 M"& L3<]R1"ZCGP,4P87 #5RPZ/B%71;3=12'IK;C.78%]&@8;^G1TK'"0"'U M&9:-X<.][SL.V/C>DUEJCC+L@MSY9)IZ8P2'OM3,:6"*;G0_WI5FS]Z6M+P> M1_X:H(@?L+=5, (V6_/:4H?M?RP]FCX7BZA1L+5?QXO'^':D.DOF%.VAF%1[-8>D" M[:\GJY(^)=V9M:6,0:D]OK\+&AF:FH0>$>BTFN%!FIM? UZZV.0J @VX]:M) MX:Q9;?H 8QK!+K*:;*B)B+_]#NO"G+%\ ,N+X5"<2^Z*A@?7# ^0J]3!OZC2 M:&& (UAC/J)Y_Y&Z602$Y$W%)#1^\)!$!;1H,'I8X0O2#"\Z O3[L.,Q.S&. M"L452NI8;5631V95[#+_![G('R]>S M&R_8/)//Q^[IZ%*5;WSE4?*POV^#X3+J!#K.HT)@M'A"%[+=XK/L$F" EDE. MT?"MPDKVTZ(L95A%RN,'+@V 09?FI<2F;,<^*='X-'V54*D8!LV3Q"8L1 M4][SU' 1$4D-WV"3? E.(6G0H;V!+18G.["QMU=&N*_I;7Z_"5!VV7X]NKF? MUX1.6Z6S U4 6ZNK L!C]&,-[XCEUAOT)/N%R9GB5H:F*73[- M@\>Q@DD'Q31?+NH!U6'Q?1&@ZN;D\^@Q6N"!77J]K)[WF"V713%R\WK8G\IV MRD,5_VH\#MX?#$P^J'^HR4D]U.IUZOX%DIF2'!?#SE_=>$]_JH&SP< =(XTT M7Y715%UM,.,//210%99Z:-9KI\,?GB&PB,CU\"G 4%D9.!:;F(;ST(B]! <1 M&G%H)Z )5 ']O2=K,FIJ5'VF%:!W:!GA?$?K9<&<;L+Q4+Z3IP+Y#VV0^[+G M4D:I2I7VLE"$*Y*M'!%S;YM-TAH>(2;]$AQ$T[ H(..MKEB5=#^,.:" /6E M+NUE 2XUY<4!!K6#Q[*4&8==*&!(5"]I36AIMSQ!<)74EQ?@0N4>GOU#KG$, MG\BK9@9YC087C11'BAJ) M?L^:*Q[*RQ9*/*;J-$.8?-AE"R4Y:XKE\JCB',%O^7IQGM;1D;I#1Z MF#ZIJ7J$10,.W5?TQ:GQ35O']O'X3'$ ""RJM8_13\]4XGS:7[G(/ZDH+-_Q M+$[Y\6)0]>37#2@.1TCK+EVO&UW$]<8/)>*&A?J6H(<))LM65!"S\FM3[1\G M@>WCS>9A8"G4J9X'-AZ.6+SV336DRU6B7=XF'=R]!YB2#0QP)>)C:].IU>2@ ML75;*CE@EZ]6H$STBRO!>U<+DC:@U")7 ML&6PVK W>M+,NMF-#,>#F S&?X;Q DOZ,8@2(OIU<@O"ZOG6&8I2_-5Y3L;P M4G<.NF8G>2^G.3OOKD/55:F\%W.X%NOQ<]QD#7[C!V+G\)>XG-5VPZE=0&FJ MJ6C.DYJI[/^9G>5#OZRVG: M<'N'@B2-.PV.):]>=JPW[9!KRN_@/!"MV#AE*&E[&PS]CGJ*LDZ"D$, &]@_(15?LYCPC M)E1BJ"DO7EP[V%8?-?LV;O87DUV?8[0^!F2W;/I+CH&^W)(=X>G/8/&@VZ?) MDE3HUL0D_?8J#=]1M*+3SDTLBU_[C<3!?!_%&[I97JS3X*&\3*?$PV\?D0:\ M4LJAWPCJ'B720"W?4))\.B,H<:_:4MC5-"V+B=4)VCZ3E^."5IIA'!_4%7U" M:=\?#YI+3&,%8='RR8(ZJ54KXW;:U9H,!C.Q%F3P.^[IK"X-T5AN'V9WI,$T M4A%UY7=+XV,ZO(H0SCQ>3@A_7=ZMZSJ)'1KMKA8\G-C$3122L\7$YEZ]Q.2 M*XY>X4]S_7(*B3][9KQO6:OKF6SR5I8W:>3]]7;=I-/0Q&[S277A/#ST;*"7 MR69B+?J6'64YN4Y,[=&B0E M2G1MK4H?>AJB8U3W^8>D5--8KA8J9))QJ!&VY163R3'4X&W#9^QE%5*R6_&H M:><1P[?QM%IW2OF#^KX)X\M2=!DYV^3C\?*JNC+F5Z-H=P1:VCC]I(,/BMW M;32)OM@&RMWLU1SR,@RJ?HXV'$F&?[..+ 1?_SJ,-^7B6+#Z! M( 4K&"^NL#G@8U%Z].M0YU@O@++M/ X*(7<"X]9D]#TR5?IWFW.JC'G=.UVL MCPCC4U7]5B59 U25Q@]Q4JT*-_$Y4SD&_&R3[U_K;8G\]"#MR+1FX+(R53JJ\ZN,'TLD MVA)J&8"3EE/9-6,#GXU?W2+]518AE&2K23VF,V5(*1K"!%9B5GYM(KVH^A]- MB*E6[[X0)EU]:I#3-(P)].19^K6=B+R/B (L<)2MSO(T@^N]LELA A5K=P H M77MJ^-,SBPG\I#EZ^VH/'CV4,VQS@&Y7 0+[?+KYU6F01B$>'IQ'<8Y'%D7) MT1/L^HF@6O1*.%;8YI?N1FE6Z?%ZK8Y$19-(ZMHJ*]"T*CN^\XL:#*KIRWB^ MELZDU]&R@C QI-G[EO;\5 M,H#%[!&@X %\R=>X0[A>MF+Z=9ZE69"06Q09L4632B?J*%/QS6H]$7GQ6(N& MG,58-,;W5UV@0#MVHWNUHE#-?D!1&+^F4ZC"L[1F]C&6J,D@6X;:X6)I74DZ/U',(-> 1)#D8?Y'!G.+2FJ+0FIKR=K^,_ M4ZQ45\D@'CU?+-G#Z@9(Z4JLV*DH/*DX:AD&7LQ4L#5LWT: L24+*"=\HFX^!7-*FFK'$$12Z):=#"Q:XV/)DF(]$$E M:0HZJOA<*>!B<_,KF:O$;77SBAB3JTM'FJCNA/&F9!9+J!/Q]#.RE3V[:F03 MU&)$-F:M"2--TA2V(AN3&R<%&WA:] PF*8RC!3GMM%O?2Z^7UQLMR<;7*,FCY&%OZO)8?F,&^N(Y0P$&2Y0$ M:'N%&Z?814NVS,(8R_=PE60 @90_)>R4(W5:V1''\0,/'6YP#(O38U1+P&9( MV %3*Z7W<0O/]Z?+@-@28HM QO].A$MB9N]S+Y!;(SF&;7RTHZ M5OY%*],[2M(J\^(PQ[/1J,#K".;9U60W( 6X55?D0 D6,8;%B?,JS60&/HDZ MO6C(K?/BX*IBPY'C)E?0_@!D5#C?@D*1CWA\A(*87+"P6$=)E&:HN(F(CVNU MRAV RU9^<4C7LNJHD)>5N'^2<%3L8\5@:0BB%K$ '^["\MWA+[O\BP.UK.U& MQ3%'R JZW_N1 WNP/\WC20"]24;! %YJIGK<2W/;T.7,W7%*=F_IH94<3=[] M.WC[4PVT;\<^R\!Y$["\2Q$LB/LS.E3%VMT;-F5KCW>#*5O"_6641=1LOZP@ MNK3>&EUYB\K2'3\0J8(*NK,K/6Y)"MBZN]1GPZ/-I-QCUD&Q]K@!_/$M3D*5D MVZ0_ET3WQ&._H\ KRCB?TBXZ^D&=G3B\]Q+XA46*>O,^ K>U**=MN.KR3]Q MQ[\Z<8'#>+'C%W]>7F7>C2>:M9OW(JK4G@)RS$RBBB!E;K825&DD1<]@4?R) MI;E*LB!YB'".TWP>H]\;VR#%QY@DJ0D#3L=8EM GR=JO4Z8]-:Z21Y!@9EO9 MWK%70=0Q-BI, 6C*BEOK#AL,J)=\^P.:W4("F1(2@.R65@(NK+PM(%%4=@>>$KB%4#>^PR0UINUG&UCBK6E($2I/7U,B4QB M%V04;A7J?O 4=?B/^K-JCP?1 ?\NFSE95%LLT_K-"C*KOR_ V:[@DI4(SU98 M31K\]HUMS5.LB%:YU5\FXU9DHQIZ!&3=J+HB-IW%,7P*DI LAYW#_#Y;YC'^ M#N9);Q;2/2-UEU)F=& .969HA^ZD+%CE3!^F[$S[^_;+KZPZ$(NX%:?I$S]\ M1Q$8=%CGZ M3+R'XNK8IY_/D-VCN4K#;J3#)V^E**.0/WR^$1AVXVZ"(4_O& M8.MK^[D?@'-!-IPU:W-7T3BUIP!&,Y/862OC<*NAY.OZV*]!G)=-6J=/LA&4 M75,4'&DU/82:[#8DH2$L[4FB\?'L4&A#9J4^6:F'Y82H,9^QD%>85T7T@(6_ M\9FF#._Q"H.@W*C*?;B"%HG]RW=;>VS;DT;!)LK*'>J[Q7,R-Z3F4:I$I3Q/ MGJ@_(.5"CQ[AS=V[ -*ZH@RWY; AGI7=8MKT&,FN!KWI(->V\?1 :T$* MOT[>T'7YFBS(H>'HGCSP6:W-UT]<*P5F&4)2P9A/:#HPMF8N%T&7S][;;9 - M#?KKM[('!Q2(2 &63>10P"II)A= 9;/V=MME5WIU1*K#[\"P-A2P&%LF\Q0S M)<<,8:+Y K)2BGE#&%\OOZ:@G!N13R99-<5I8[_F= "D;Q#KJ6"?'V=;HX_O MH#?&6.L-3,@["F.?C=V)Q#X32RO2NXNO663$ZP8K,6Z"I\^X!5!$EFF2Q3Q' MX8ILE9D'J)@M)7=(<5?"#2BQ3*-":?SP0&UT:-- K!LT]WS;EQMJ\/-KXFZG MPF\0?;M*Y@B&@+F'E5^8A;%.X0G!B*>F)E(Z)/V:(-A)>4DN$L,=Q$<(F8>$ M^(598.@4GA 8>&IJ@J%#TJ]!=Y$\[$0]!VO( *[8/<^5$I!_P$@5$^M\6GD MJ -9ZA!D\&>V>L/NNQ6X6"Y!F,$EUN0&A'&0IM$R"@N>Z;*X8KI7B^RLSV ] MOU3EE\1P[T9+,EGS"D14SDTYB__+TXQDT46W?L>\J,LV>9HO62$_;H"AJ+"_ MQ^IG&"_(%9=!E!"]KI.&)BA*\5?G^-_D88XS+[C0;!!;["0;R)S=^"'3.K:[ MX=9],S&N7+6D6"_@.U'(KY$$SW;=;F)O,?(DP>SZ[*HRZO5RK[M!@+7"3R'B M&O)[F1YMNZ'&=VD+&GFV XZGZ3D.1X\!N6LZ_27'D6RYQ3%JEOX,%@]&SJM$ M5\%))>EZ9^OVE;=E#]'0Q44FI,M(.0=29^1WK%3#KE+:8]@FZM%12A>U3$== MAT/*<5I:.\UNN)RLYC4,3B_,2^VURHAN:J0$+V\9>-)JM\[)>B2>MIEDO =Y M>[(((H-$C=YCO9P:XST@2'N/K/MH(/7-LLY#@>TRXT<>F0:"M! MOC;AZ?2D!EVC05_G4^>E""$-BQ@A2XZ?7VN;/)EW;R7,R?YMW,Y9N3&63 W< MP7F <+^A 485L@I E2,[/HB54"F)9@V3JF=4JI"7$VH:\;?:"7Z6(RQUN+U# M09(&877-3_%?W$D,'3B/6R$D71K^HN&^OZH#5^CO='O%@?M=U MX_FL!4T\W$+),)I>;ZC7QTW *W0'A#;PJSK>\VW"F_K\7?EAZ1J- N,?[:FM M>%GL%$VR*,FQ)U=W3L$D[8E\\9RA )L[2@*TO<+H2K] _&V28>7CXGGL#"# MO-5X (Z]S>X..8YX.$!9JW/\1XJQ:J]ENA3-+;^G.'Z ' *JT(7]65O@G:G3 M/DYAH(9? VT-5?@/IY@3-/_ND^\T,;4@Q]EV6\&. UB M@].+?>92QGGB3K=9Q7'&UT:*>^*I! M\#1]V..K QNBE=/HK$2>79"-A5U!KR A:'VZ=D(0 M,-I[1\VO9J_?,I@'6S)/Q&]Z?N%.\[,*>P6!K@I045DA&JIJ35"P"/L%#))@ MH"#,?HNRU5F>9CBG0+5>6SY,5*KV]LC)5)T*A#0,H0,H.3;4'-#\@B5K8:AS M7[XP$O'+]X,1J_Q4P"2KLF9(8M'V;"J?>B>^(![)5>I.Y LJ304V2LKK8$?$ M0/Y6A;&6AAKZD6$X'TO""K0%(48%KS#$7/*1T58I*^91]6OUOXJ+C2D5(4!D MJM [)T85[T&BH+$23/AT)]$OB<.);#VYWFE2N%'572W&B(E[W3&=P?4Z*K9& MD5FEW).HD;_0!*[AE?PD9Z\DS>"^60>EY=?_9CTK+;T/+9XYGHJ MD!&J;(X4&@N_^J\YJF[5+40E;T*Q[F_GE.Q A%IR?(S(H4*L)AT6?"!0J?HV M[[=>PT0( U8Q2A?3+C85 @4U&G]/DF_>@F<<.=KHA18&)P+U:32'Q.I49D* MKLS,HP,[98Y^=4TW9*MD A;UK94-=<[!,@HCUMA*OF('>S(5IP(W92/H($R& MB5^OA%#?=Z!_V0U,U%<:!A==L#Q"*T-5Q*/Y[([9H9PZ=+R6-5I1L$W#LZ0K M2%=D#(E_$>]Z#.)B5)F=!0B1>V2XF9A*W6YZ)E?7%VSPEEHUK,"##FV958Z% M7\CZ'*!OH#@"M#^[PX\=$C4Z*.+6F !VY#561 R7L'>Y?[$IY0:$ $,;BXSS M0;G=0+PJC#U!]"H3@(J"SHI8X5/V*R5W_S"0EXW/T4FQL=N4_$J-BS&B3)+) M+DA; O3MG!#II]CH-'K45^_&G 7>!-'N 6ANZW/+]F>":64G@ $9+15A MP"!)?:[.E]5(6B(C7-N6JR212_JUJLT>IBHI+#MN%1'U*XV<([@!*-O.XR A MCW*3@=*FNK^=&4C$57KQA%?%9X@H*"L+$#Y)WQ+'W1OMA1Y8Q(OG,,Z+6R8@ M7#Q%<5GXR)'V*T450$4 AVDTN6&S]IK.DQ2SO2^K M\VHO:Z A4X>[0:Y7Q^>65U%7%@X"FEXGGXUQD]SV;%99]K!T*AFFC'K2D*#3 MJJ#PWH]PT7L1?-=),0 @KM!! :^"SU"05E06#SR"%2A^\#(^4&=.9?;IR]22 MF<">2O104UEZ855$M0+/7SQ\5I7Q,$60KBYC^#3>G11$@LXZXPU(,Q2%6-1J M';+]0:-D>1L?=F-$^OIS4/[&_Y=)/<[N5SCC!S=8X?()6<["\O!"4%:HAQ3" MLRT = V4=@+P24AM"&"1&#_8C811X<8#*:,S'G\85"7Q!@>6*G[MX$3K=X<(.%WHU[9F$6/?+NME$GT'\ 1YJ 'XZC#%MHP5QLT,N*TWE< M1UH,*F!]26(/]ADF#: 8OZ4[:[LU!$F8P*; MD&+PHRX$^M+[%2JF6(I+B,YA?I\M\[B>5V O&PNK])>-.56FCC,%@]B$&Y^M M7^N&O2G.RCM.00*6S'-$DK5$\\K=6E/'FYI9[':: LY^+7G>K@($3G$L7I"3 M=UA07L+&+]P]A,\H/'5H21G!)J)8#*GKHN,M=# ?4OJ(BD>CVZ^[LQ?)] EU MET,T"$T=G,;&LPE<'6'Z*[S''J6"78W*TZ8=O?9/%'&F2PPH"6 N1>G0<*YN M/I= EY+&ZV7K_B1]?R65N1=2OFK_X0B)JE/'KH:!;()5CGU_7?QXW+VY7:'K M4TKL11.I.D($MNH<'O38)G&+N1;?"FP?O 5;YU9TYGSQ:/Y%4:^9#'JBB$8+_BX6%08!RW(.PSKU'HR5(* MU6\Z-[&K1$)&59E@V*MZ>%@4&LAY2.RQK_'HR?FLQDN_ 7F]M'6V;'>PC(%( MM.2BTCV<2EK U,K_SJ^ MBWK1MEJKG26+Q@$T:3"K$!/B6H[8X4%NJL=VRPM=PNT= M"I(4]T-8K#KEJE?C&&A7)]!!N J!J:-:VU@VD:PB1(W>'_Q$+\, 9 XY-3D_ MP2$@=WZ"2F!\]#HZ/R$VUR#G)ZAB>/V )-8@!&!1O(W^.&B8]GNGF@) MXCB]7K+W3+"WFMJCW=^3:H/V^ ZA 6CHUL1*D9XB9V>7JPWY_#I7TE2JG PR M<@U9$AP/$),X)* K&LP5GL5B^'7^9%ZYW!VH4NJ!5H3!YS&J; MRRID5:3HGW89=;M#3W;FI7VRB!42$ &60^#@\"IK+*=PY0C1/R7C%UJ[=P3* M@I153X3-?KV#@Z3 -$Z1V.?=/S S+@![V8ERO%2G($Q+#SEB:IO+;5(JCIE^ MKH(P]+^,DB )#6;3. 3D9M.H!,9'KZ/9-+&Y!IE-HXKA^WGLO2>2I]^N"YG2 MBV> PBAE+F%(U^,%6WJ]\4&J 3)6B)4PC5)@IF'-TF7(3-K98,\!\UFY \)]!8-[WVD M&@3<@.)9SCMX%SR3+5+D34]L&S*%HG),W90<8P2H3F[R'F+'D%8]0ELD3V?= ML,0W8).C<(5%OEXVGN$6H%M*.)6C>$DY[?]V=%*=Y M&B4@3<]!&J*H"&,D'XT>DFB)+8 ;ICQPB2/G'$L;-B9VW!@%1^VW'S8!KK:. M0I>LSJ,TC&&:(W #'D&2XU\AQ&H3\G=P$X7OW[QWR9_V )M3?7$,>0S(@,-Q M"ZXW"*QP\H8YE3=IN61W&42H>"#[,XZ(N"W7S9[%+6SX0P>WO'?WRN*>H9## M)=MBMW250 7Q+E:=!UG@DFWW/2T7/'97O;EUBO;=F4Y9S;Y_\_8?]1;W<[#$ MT7U1G%V*[O/>#) + :IHBGF2^0U4D$T;'4I]>(IL;?L(X ,*-JLHG)&,QJ58 MA9?L^BX'"8;@"BYRLKN$T M,P^J3 )+&$?++;;&,%)HY#-#Y#4RR<8=R06<2D%+.=QSI60$[IE2\P+W;$79 MP9 2]'($]\PYF8)[YHV^? !-VSVZ>X8&W:I[X>3ZH0' OQ_CN&>FT=6200[9GM1BYL4^R[+VAL:^I6CK<^BK?K[MQ=YKFZ\WP781(UB]81I#B M3'#_SF AOD^&K?NR.<+"/)<+,+U2U4T2 \C;&\0-Z26 M'&2[1Q(&D+:>MAZ 56/$.V1[--@V\M00CTQQCE@HY&]2*/_)T,"Y^K%U;2K]G]$'AJC]T'A7*;]1Z^EWE&\L4HB=;Y MNOAROUVJ.%RS*#8-DO>OR2"@.)_8)C9[0*#LU ?00VJ58;@1G(=;J= M([C(R6 E&7 P:B3Z&4!8SH12JS'_XK+'>Q' +&N.)JN?>3Z^VA*XVV)$?][CTW_X?4$L#!!0 ( )1;;%+5)8V" MQUP '1@!@ 5 8WEB92TR,#(P,3(S,5]D968N>&UL[7U;D^.XL>;[1NQ_ MZ)WSNCU]L=WV..RSH;KUU'%WJ5Q5/7/.TP2+A"2Z*4(&275I?OT"I"X4B3L! M$% KPC'N$H%$9N)+( $D$G_[?R_+[-4:H"*%^=]_>/?CVQ]>@3R&29K/__Y# M5;R.BCA-?WA5E%&>1!G,P=]_V(#BA__WG__[?_WM_[Q^?8E 5(+DU?/FU60) M4!I'^:N;-(_R.(VR5__/GQ[C!5A&^\+94=DVW3^\^>]/F(E=2<(0 MI^R.WQ]:#*><\FE.]!@?RA>IF.O7O5H]KK;UWOWTTT]OZJ^X:)'^M:CK?X)Q M5-:]*Y3C%;,$^>OUKMAK\M/K=^]?_^'=CUCQ/^#^>_6JZ<$(Q0AFX ',7FW_ M^>7AMM^#&!9ODG3Y9EOF391EF.6:0KE988P5Z7*5@=UO"P1F3/9W4"!<_8GP M\Q\UM3?#N5I@5E!0$Q,QR"65N@&N]]1>)W 9I299[I,VP6]-ZO42 M+)\!,LGL,5VSF@6SJ,I*.ZK=T6YSO&.WRVN\P<+!59G&Q8\Q7+ZI^7P :Y!7 MX!+B02,O46W]Q6,ZS],9&:#+RZHH(1ZMBTF>? 1PCJ+5(HTG>"@O'JOE,D*; MZ>P2H!*KCU+K-I]!M*R)7@%<)BO$:B!L8EG?OWWWOADS_L,]C]KJ),-P4F5@ M.EM'6543Q4S]LXJR=+;!L]L +4B3UF;^$J[3Y-U/]WCZ!LLTOHL0T?4:#&!: M2%*;V9LH1;]@18#/N)LK!+!)E 7]1X@^1^@K;O$Y X\@KE!:IH" !7\!&!#7 M+_$BRN< __DM0@G&&0997!8#Y';)G;8*)W]\^^X?N*%IN0#H"LS2'#3DT^>* MP.L^B_(A2E"C/\H0MK>I3S"??\+ 3"9% SR>.7._@C9O_#Z[<_W2Y7"*Z;"04;/986;@!X7$0( M7.!%6'(?;?03('@_I8@;H!,&]=F <0 M0^SZ$' \P54:?WC[H>OEW -4;YU@?VGZG*7SP>LA"TQH*X2V*#^HG_9U@. # M&K,V?)F8A=3;<-A?EUE4%-BW)RMG8DYDREA'V<#9R0X?0]=9%$,RN "7HFX MJ!=5@==39,0N8I2NMEN@K27:84UQ#[,T/MC)^V'H'=2PR1GU:0&N9S,0EW"& MO2"L]RUVFF.[8H;@DC'+E? Z0CEFT/!,:Y0C QCAV]^7'"_7L_1WD! .[F&1 M#CR;,-2PT6'/A&7+T=5F>XN=Z,4,MUQR ^PO+[ U)\1WW"\SBJTK3=83 !5D ML"XW>K8D3UU;!/V!2T>D(:WIFS[$#GZST+O&I,M-ZT!/RZ*Y](R Z2+*B+_Z MN "@U!R'F<3,,WB//;<"01>J' ;8>R<4,]''68-- V5?V#XAU!5BN4 M25/KU%BK'>,]L5NN&NV(%E&7 Z2CD7'X0?YJ>^H^X.#^0,+JSH*MS0+#CI4I M1\K,5M/ O22S"Q-#JPG3 2'&8CN0>H;F88IQ1R-@XA M#!\I#&#R(X3)MU0F7+7/T:&NB376P#65N:,M T=9M@.>K$4ZC1,MX3@28HA+ M3,:$!["J4+S0Q4J?QA!7EH .Y+H^7X> -B/_K")4 I1M]@-4:T7Z)8^J),6. ML0Z'LI1-3'V"Z-6!DZ"0^CB[ST.6#(8:MNJW/Q&_UMI1WXZZ41]>GV4>-:-[ M_-H<22L^9BF\ IG[(-=]L$UTRB-EQO?88EB)KP@_49I! QY1,/ MT!J=T!ANIKX0!AJU[%KIRZ9&W\2FT( QHT_$3331[D;+]OY"OK_B\BF-GM-L M:&R-/5X,!F5L&:C/T*,E<>8*M#]*!PDY17\&\S0GQ^7QEJ7LP%()44/2:"R' M<:9,>DEF;J=)D/4T?.,RRF*MJ!8G;)EU-TWTM21AM]' DQ@WGI8;UQ' O78= MB'T'\U_PH "2!_Q?E,;U81[FR*D.I)FPIY#=5'./<%LO381'K]3V9HA-G6CQ MH:V6WCJDU2>M3Y@![-OER56:5:1O2,DAD[^19LT);6(@DR!J^](0GM7QY+XA M0(&YB]LUO?HB]O\NBC3 M)8DF^9683EYN=KP,F82,L^!(&5=@!A Z,/(P>"5AMOW!QZ\#).F1,+$)U1[6 MR(\78(972JT"9@)AY9LQ*]0]@NN49*>Y #F8I65]N]6:;)*MF161K)$QMO%: MM[G^3"!>D>GI 4/]"39KJ=86_ OYW;3DPY@PHI##5:QC5BYVNP)U#"W)#S>I MMP^FLX\(+QI)+'R]R? [V?MZV?9<\:5\-J0C>WR9Q=%NZ,,_[S>W'5G[9;-BX[GPEE5D@T';)[-H2&< MU:UF9APN,PV;%GPZNZD;_YSFZ;):UA^WB1^*!X 7FQB'7_($(+PBCTE$>$;V MG(^)3>8(#+\M[I0_8\$O)E:*8IJ6#TX&\*[8@(FC$R,77GGDVDPF)$BLWF7_ MA/\\:@F\E C;Q_10_CT+(E?+J:N=+G$7% MSZ-H]8:H\ W(RF+W2ZW4UV_?;;.&_L?VY]^.)'Q(BZ]8>> 6+R_VG87-%&1U M-EK)"F5:$O7*5'CCC=CU 9VLR$>%1>)N"Q^+>@#K!.V$WB:Z5,K72@X2E/H& M*HIUM6?TU5]?B=MY54)VJ6/Z=1=CD7YX!1&>%?[^PUO\J<[+^5>RS0J2O_]0 MH@H5 5C?$!1BE 0F4S:*LZ!GHJ&,1;O'J*'NP<$#JU1".2JT:!F'$ M2G\LP!"EX[@#%4M<.2 =6N,/5_U60D#3UL?HB?/Y*,5S%U%RM;JH$M4RB2Q: MHFK1T-3O0:@KL^08M6_Q"%J2+84 +Y.#U6_O_!FNCG.*VQJO>A(['['>^0^I MB\T%R.,%7D5]5?.EJ-7$#E6G6G!>%4]L]D.1JI%#VMP4.5ML]E8;"R/CL6J&PA#O_511O^ MZ;?/T;\@.FQA]WTL?J&M&EF%_/2?I$12])8$-'N]_]Z+WK^+EG7>S!;?U %& MJFP+"YRRSEP>08] -:F.X$ GO8.!F*35&:A_;D9^V6\\3'- ]4+XA;9:8!5R MXW?(*1=*RM+K429ITK$"DF/VZ-,W*.[17B%:C[8*^=RC+%D&]&B?I-7Y6M2C MN)2$E5**47NU73;NN;BCS,D/C&"2 ;1:$%;@X93HY;ECQ9UHEU? M0S\.8E.&=3DB*',S6Y T>,B_#B7@]Q9!K^1T$T2]O8 "H!(:@-^R(M: MY3>\8YB\P<(5P7^5_-&'U>*E] [GZJ2E4E MN(YV_J/8V](PE3\)DN- 'J%,/RX4?.ZOW^[EW(K&/2R2K-5!I;"6VP,DI9Z% MNL)KP+!_I"3;9'CXZVN"(AM"I[V'ID?';X2:4M @G YGPOTFGF^N M)_,X?TSGDW>D;]?[E#O<']G_]"\FCB_>]DDA+91VZBJ!=%_7W8'%H*VI(1HQ MLRVEQT$ 09M\@2X7$9ICGP9>PJ)^5JS)[J,%6 $M)0 S:9T4H.4TYA+@(H[" M=QM 4L7DJ]XV:[^ZFO/0JGY22&;JQ25X*4ST\/H'CPXFMP^9W6\?,NO=RA_+ M@IK\/,4T;_)0[-*HDI3#NV?ML,JQGXI_O<$HNWY)2_*,3 \_'=,R1K=CL]&W$]03;C>HIO9PAXJ0LJNH5+L=%J ^,OL]C[L?-G6!W<[,F)U0P[/_>YED:L]QCZ9[\CLJ0']S@V?%= _ MW/+%S.7.#FG3L9HA\J?=H:;HW_Z<[G3!N<]B@J2A M@Z"3\@LLZ->V+V&49?5-N ",J\E;N%,U-_9Q(#5UDZ)3K#&X V!W&&)JR%W92,49\.GE#'4%]GI/T+T.4)?04G6,H\@WCYG MAK6"OX!TGE^_Q/5SHOC/;Q%*+B%)@!@?WN4::S#82T-[;V\K83+-'XA(J'F7 M\ Z25PB;/\FSU,4G0<"GE38ZPX;A-D8;G$W(P8N!,D[?0C\XC(.R TUH7]_4 M,=ZH-.U!W[P4X6?QV>OD8K/_Y\\I0%BHQ>836 -:M)1>99:-"2J/L9-I'BDT M8U+1FC5+Z>U;*K(70 IUO@.TEXV[0-"BP4*\' WGFXZ*/4^#M(9V^,CFLD*% MK1(+(:'W-E]595$+_XZ[#2-1@X5,6@VW&S!Z_4C#HE!Z/O)DVJ<"D--NH'![ MKPRW]\IP>W]"<*-+;Q]NW78#.(NGB?$'9;C]01EN?S@AN-&EMP^W;KL!W*=W M[@HR=XB]< 9Y^\*.O$&Y?=_1_$$/1\PTC_(XC;+;O"A11>3B+='YI;N@9)4^ MO46XE%X$HKR8D>S[>?((T#J-L?#3&470.M560?_$'8EM--&Q M"+--N%_2"V %G2B3;D9TUMI&886E\&(QOCP^H7I8V6 ]?(1K@'(B&-=+EJK3 MP;J@CEM/V4K?0ST%4?%KDL$VZ.48&^65*8A6$$4EN +/Y='Q\"5 93I+,2DB MYQ58P2*EXW,XH:-WC?0(G0:2C:G2";P-5&$J?\PMWP-T;ATT*GE$J< E/ D6H"P?.J M4=0$*>HC3RFAY#J;I)KD3HQ_!O0 MI^/@SR$,JSKS3N/[)W]\^^X?6 _3<@%0K5301.:GSQ5I@MQ_&#U"G\&7^'%8 M?0(=LU4A,-J(QV!R>[T0$681J+T.M&D7FBQ)8BPUU2D2E5.G-%&WXZ$&>J E M!5*'/7G^VF.:(;X"B$IC2,J[(R)310[3#F]R6,&I],T+HR@4W)3H>YN>WY1X MP);4A)$0Z<@S\IRP"W[AWOU\>N$Q@BZD.A,J"JH"MEYDA*"% :OO@3<_2E1 M<2%Z1HLV$'05%S;R@0/T5OB0\2!?W(&IQVA-+AL3WAY!?2F?>/#LXU*UFNWS M4=F:;ITQ8?? (8)+8J9S,JG8U!@ H@R85*XY;Z%JDFA#2IF$I]@:I@H]D.FV M&XGJ6XYV-#)_FY(XY;$QT/B6FV#[M@LTA!F0WCI M'M-Y7@>" MY.5E591PV9SA'!(Z3TATU"%?WR>8SS^E:_)43+UA6#:F1;S()W@=Q8M.S>W; M1W#\+;&M^$63IZ0$*(^RML@=R40;9$/)]0Q.E]QH8] =!E*]O5LV/#$4Q2K6 M44"_F.N9;&!_0FF1&:./7OOM\8G9;@"KML,0HZ@)N<>;AA!EOMFD1]3%QI9) M-!M5HC7L&^+2NXVS\[M+QI%H]KDE'59T7EDZO?=5:( [/ZND\[2*C^\H?7GL M;HGT/G3>42(?/'U'J<>SWCM*+3*>&O9UA=>-@+JEQ?K<,M_CSY[UI8!_M1YE M$AOC"9M)D4:[B!3V;B2[5'O#D5;*LXZ4DT;10@4TW=\O.+]S%N@[9Z>U]7<7 M(5)^#<;>OSMB_B$MOHIVZ,05.@M[7H41=_J;Y85@&U*PK>AZ-TU"]U H!'7A MQ:9\O%/?H3C.$73-Q/4+>6KK,KBJF! M /DFQO#4[BJBPNEL/^#2<, LU.Y\2B%O>UPDD&XWL^D&Q>> M6\5G-"D(.P!-4JWTT/3',-"D B,5_ 0(',N(H4"%?@/V3]XAIR'\E:752):HWL,5%Z$.K*+#E&[5L\@I9D2R' R^1@Q8SK'F&X MXH5VFQNOY$*\;8Y8_ET2H$A[ ?)XL8S05S5?BEI-[%!UJ@7G5?'$-N=:T5L) M$E\[2=3&+48U(;ZZU7QPM^B=R8495WK98>RH73[@&.T%,$?6)SG;LYT[P,_( MS"W;C>BFEQW9R6)U%%034A)!QXT=159S&QGC8+4YU]N=\;(CGGCEVF=I]'+^ M=K^L<-I=+VX@@.FIO[7*SPPL*"[3V*J[;!;H_V^LV"XV-]*),*[?P<_0NB0V >_3(/NU KE)-6R,^UF)1(BBLO M 4U/ WO)Y?+I[(AO9F"OL&P+"YRR3B_8<'H$JDG5"^;MD][!0$QRE'<^MJQ, M<[J#PB]T]#Y'OY"[T'VQ99(^O'3!)#EFCSY]@^(>[16B]6BKD,\] MRI)E0(_V28X1M[GG!I>2L%)*,6JOMHMYW:],>8;T+(7H*<_&U&LVSN=CUC6; M 1.R^'Z-T2G9#_?\'L&DBLLI:IX[H 6GB(JU8$ OYJ^3+B&6AIO.I2K:*[ > MDZL"B\,[&(#^.HI4V3Y :&6=^NW<+H)J#X?4;%1520 M9ZKR B+.SC2W8-M58!1TYRR(]0X59&)U>9_\WEW@DQW#O=]SM"E(:*9$+],* M4GOYN*#7OA%RL1!G7?WB=%YAP^=SB,?/.V\'L]ZG=1;S\G(HI$3D4W2^EGM('.\O&.8X^%#QQS)!]\ZE<6SGCFVR%A/ M:3.H\QX_,CKO\*'3>>2#IYW7XUFO\UIDK&>0&=1Y_WA@=-[A0Z?SR =/.Z_' MLU[GM^B.V3HG_/9$[',&O=$SZ/4W M&CT\T3I')(\6D>S50=,Y!-F#$&1WT:A3L)QD>+:O'[46Q1T+"Q\M)]B%?8Q, ME95-(SI53'J,GG\$RQ1//81WB(1=+R[=[GM>:1\[7UHZC=Z7H#W&Z=9M7JQ M3"01!J(+BK8[GEG4QUZ7DTNCRT6$K9Y]L:X=@!)K#\XW%/8Y=Q"D:QU=2)"H MY2,@E*75N:H@WX;54S8&3.IKM5<[+RK*'N,HS]-\O@6R%&AT:;0AI$[#1T - MU(0&O+1;M'HJ*)R#,%][PU"8CX35Z',3IYJ/*%*7=]"<)6[$ZB$D RL_I_/% M/0)Q2G#]ARO,Y/LKH=-;Y\/KM3[?+%8+K>C^^>(+7 MRU4&-P \+B($ZGO&]]&&?-MFJ,3NU=BG77?@VX$9;(-TE8$>3#IP-T:W8R<&Z(XV0NCRSCN),T+3D(X=GNN9@Q>THTOJD#B8 MZ_;(:89;[\XAF9E:C,<:1IAG(0#-Z,VHA MO01,&.QU;]X.;6IQ7M ->>E'G+UOH]1I4$IF*.Z6&VSCC-A@ MG YR/I91GD0H*;ZLDJ@$Q*%]^Y-,ZGJYNO0\]J*Z;A=#W,[L)[)7$IP*.UJ# ME$SVD@T% +>!HQ*['D ,YXVPTQD6'" $DJ?HIJI>!,-5O_GMV&M@OB(WE-L@OSVSX M#3IK-3>>@T_GJ/7]V)LTCS#K4;:_*7D5E=$A7=MD"5&9_EZ?'U^_K'#_ JRL MV[S$*DBQM]_,'V,?H-X0K8 Z;5R7-=$9J4K5CG7)5?4@12B'4;ETH+($F*D_ MQ01<'%@J]34UI:>B(JCCC@P7]%2=TJV'?Z#($?5BTSP9DT4%[SA1@X*\??Y=0!P5R M2);0D^H@W>5($LY<3LZ0IE-AKFP\ 35G>]0MIN66/&.CVK\U^3U>]>2,;5)N MF0X>.V7<;O/H]@^4DU$52K0VVW"BMQ7 $'@)EZNJ!.@1SLIO$0(=P?F;."IU M>\E;I.H&!SH=G9@&HQH/ 8QHNY1/#R##=M;7!Q>D*G6[()6K&QY(-71B'*1* M/+A_2%<9I'IV2+ 4R_D_C?58I PM' KR"= M+_ P/ED#%,W!EP+,JNQ3.F/MPYL@V8O\'4(R$!2;4YL9C)O@1W5N]^]$\7QV M>#X[/)\=GL\.SV>'Y[/#\]FA+P'Y[/#\]FA7Z@^GQV>SP[/ M9X?GL\/SV>'Y[/!\=G@^._03@^>S0UM+EX\(%AH[2$?5Y)X(^[ZZDH MOI&]3NDV YB(.;),XKA:5O58WCXU5<>A@) \,IF$@L>JG(ILHU?$10!S-D>Z M.U"J8[=521ZG=:7@,=D7W3;^VBVJSMB^G#_?18@D05Z/_K+E_I'-Z#G-TG)S M">L;Q""/-SU$=/>2%*IVMYBDJHZWD\9FCW?(+%M-7AD.#Y25>A-J"TT='&3: M/MIUDVW3N\-CJ8<%'O!PQWHRL_>M]6Q Z]L81[C2O0+YHJA"Y.B5S#Y13Y_& MK!FE[A,POG8[VGW&#+I^H8CCWK,/>QI'G3;Z'KK9;J,^[.&@XQ@OEL[Z>E>JYSUB49;5D]AWU>ZOO.M_=O=I#TS$4\TSOO$."(W9]3TWO<_3" M[T#:]W8''G_WHP,Y/$MU(+5^ #M*5V!%WG[B[171BG1D;R-;@,];'0F/?6X&HPMZC#-$P<&I4=4:0;8BC ML/$/M9$%.4=98,#]BQ>HCPV,!_096K+B18<0&P[PA=JHHIZAJ)) ?<6+U<>31 M,([+FL-XB]APC-?$3A;C?56-A?$V)U:?=V8D;=^*^"LYALW+S3U *4PZF!07 M;"=?9Q3T&TO2(@["B40K/0S\V;MQ[C9?@QS3WOR*,-JOX#?6OA6[8&=\HA7T M&R_2(AH95SBM'/!2%?A?S3-54;:'SU_L#R%78 GS8ON6]9Y59O8,I3KM@45< MQV_,Z @^?+B1;K W\OQD'SJ,"+H=FVGOP7C%6FWXR-0* $#*P@^'D$*3_>UU MP9&9VSBT%2!VD,\_@:@ A3>Q9\=\)7))3N0J=69:424/$IM0691+:2*NRDQF MPJOJ(NI,LC>I"4RDQ:8.!?R6Z4E+)%H,-.(,1-EU00)4)WG2&O?:9XE7H(A1 MNFI2HN&!%.NBW+"BU$S0:\?-#*,W;D(3"=1 \VH3)#9A,[4/[3'"C*>Q)#+" MD6MD!ZFHJ2!,D%*$.9V4VU@R(\A0P+R$^OK!,D.85+$!+G-C/$CX$68)R'_! M(.P:J"=<;FY@M[+$AI&Q] 5KLE%B ^,-?=YV]^]6=@R56*&1QV^\]%JVZ]SHTW/=3_5HRVC1VO/VC:\;; MGW][_-CUEWL?=CYRZX-GW<;D6:WG*&1.>0"F^J#.AV"6DSE\#!9[B#9&8?_N MGTP0B*:S@R.[?)B&X"=3&,BS)F\S MSE=TR(JFB0L_JL0B#L82KPFKUS9L!!AV7K-[ *17VA[@.P::=,EP M@Q!ER/B.P8&*&0A/[=9%8Y]_=T^XHEZE1;TE]T"6S0#%=?B@.I Y9%2 3"43 M-)#%BK$)9%[K+F_!V #R?;2IT[!+P;5;F O*0^&PH,<0TBC >FV(8&3R1HRI MNWC$#M(U>(*-P\M $+-<[R9>KYSON!&)-A R;/(BM(BNOIC8H<#<(2+!;7XL MT>YB3PJ*&X@>R$ ZG7TIZ"^K&Z#4WN70I>0KT,RI9\A.R4 &^J<&@F,#7Q*$ M'P)DKO]=I2OR,UZ)U:(O8);<+E<(KIM'3,:^QK4[JKG/HIK)/<,]6/7S94M6 M[&?,%E;TX$H7DTVY:UURU9E7NT35'245E^UAZA4O)16P;GP*.*!?]9)LV;OK M7N:L]V+SA-OFO$JM4%/6?MLUQXV#E.Q_.$0=@LA(/@N=?/C230?P-B5;<-PR M]TE>A9JRD&S7=/^:M$K/RF"1J0>UP?/0NA0,*:U^[S!DO@8](A Y+T#;PZ'< M:\\ND>A?8-&>?>Z[DHQ2'7SU2CE/_B'=,U!6-C7('%IJ0X;50@ #%755R(6* M1 W:*2FK1A 0DI?9!)QD6@M@Y&%*S7ML5*Z2[+PWRD.C>@M7)<$-+%E[4QG/8IWHL M8?RU"67])S8^^1:A1'1\88YP M=P_? &$/CC^$8A0L.>3.1PS19QZ@#*;OXH3%( BI)S!FE4S?\1XL OT(QQ3K MWIWQG/(CLN:[3^>U66-X,FV[ ML@1P,&)T@-MIX1>883+DZ1A7DSF_99O3.:OEDS%WIUT4VI0N$"J 5Z:MJ.,J M7:<)R!/7YD]KUX7Q'[=[-GWU[@G5\*DB!9";2%L9VVQ,'\G[I,5M?E^_4-JY MC5]_O,(:V6O.]" PC M30X(N%]_U &&DZWP>+@8*J/J8N=-X%Z(*!!;DO&(- M;G/\.]B= L)9*[",4NX3+$:/!?ZH>X-[9(*D A$\N#M<@5S M$K; N=@K5:?K:?#KC!%*HM7C4$\-0^#:N\XKUW %Y,Z_'/O3'++4NZP4U[X&^F>%)9YMTGQ^ M&16+FPQ^^QDDA#EKCH,-=((:BQMH(ZK$3 M +!Y\ER &43@ <195!3I+(UKGUT$<@,4NWF:AU ,#_SF%&C<$$RP%H";T!6" M.$02:KNL$,*S6W/&); 2&TUTS,9L$^'9D445&S!K6H=D83VQ>%R[_$*>.PC_ .+MWE1HJJ^7;Q;QO>@TC$@ MMIBLXWAV*UJ/\%F,+[8T(B1"RR\ M(W[W#*ATD6$&7(07*.(5>M 5U-%53H[VF#H"_^&',3 4P EBD*C1?P2&76., M (81D )U%*AN&$:9[SQ;(V0Z@.-(AAC<+6ZI.G*0'RV@0J;[Q!"5#ZO@M">! MJO""*RYA@9WVQR@3G 4RRW7P0RGG=J$EUS-07C(5F/2/X-C4 P#' R@ YG Q MR9,KL 89K!,6;I]]Y<)%H69O6TNBIN>04I=^&,A4V@O@T.(19)CF_"/( 8HR MDJ(U66+MX&F^GO"W@W*(1H;!4Z_E X2C#MES/B#4=PR M7AR"2;],+AK!KF?FWRC(VFD]A*_MUD[3O+67.4%I@8WMJD+XO\W)07-TI[[5 M;J ER9WY02VY'7?UMZGLJ]G0?I1-1H5OQ7IGAUS]'0[V0-(]U+N\OC8#,:%Q3Y+-PYR=BMUV/OAL5HN([29SK9%\$B$!Z%EE,=@^IRE\V9WZKBUH+&V*2\A[CS;G,5 MH'$JL=%&K10>Y,2R&\<=K\GPMGFLS[_,O?U19V#>'K_-*5ANSW_42=@_C&X] M8]:2I/NY=[*^^^QX:TYCY_>;SN6_/+;/5Z=X55P M- >"/:M.M^M5WFI2M;*_D!FD!FU :;;J]>[JYPA]!259=C^"N$*8;/MJ!.WK MV+NH!^X.)U*'I![%;1YG58*G!!KOD[R5_Z/X&638H2'16IT#Y >P@H@DLUS" M"I?;[BZ+]FG]88SYF.5XC'GP$BE5>+E'1L55U53N\FE0#SJ?$IBDKEK!$XUC M24=_=51"JO"O8]RD.9[STB@['$MR-L\%I3L&Q"P][G.D$OT*5476 79OHUS4 M5+@[0\1.F\5);TY?$)@:BHT ;KX2-< Y3W\S-V3$.J3@?K@CJ.-UAM]#W44Q!] MG\L@@VW0RS%F]28*8]/C$B+L2F&WZ@H\ET=^V"5 99,H@\AYA3VN(J7C9Q60@?1)7;1YQ"E MO]?'I%R?0;XB%V3TBB.D-6'V*1-?$C(S+LYVVV*CB]M&>+M=CPN(2O).>G M.95"@)N2X 8@)]G>>1YM5>0DH1AK)N5GHC SE\>_D*=R"=:]=L79WGU*VMN/GIDT[4K.DB!W"BQ!96V5Z5#?%L84H*#=ITV#;AU0LJ^VQ,CXL( M@8NH(/[WDF3SK%>\=Q%J,GR.?DV(RMX$;^A#P6X22'A1[ MV\6F"/>VE8<3-A>L=U>186(Z>RQA_+7'U7T6T>\F*E1K!^))57,\%IKK9ZBM M'/J(-IBS?4"="D#^1K,:G*!=G#.PR,IL8 43NFA@1V.R$;D2OU M6[0Z^R($L &F+7S]GU^P/[;/-OO.M(5RFC!EG-0FOFN[%"O=9Y/D<1_ OE4M MU+-8[N>NW-1[564(E.J&SPA M>6@=][2UV_41UV4%"MANSM*RJM]E9\I].QY*G=712,:W* MHHQRLD/>:,6T"8O:,66[[':^:Z.55+_/UBH4H6>F'T['3'=#U21)TB: MIKA%T],NK\7OVHB5N\1G#Z,B^QL@.1MB#P,B==4*N!,?7#1E?#%/ M:RIDHW?8"4$LTCE2]$WQI./-;O,2+\6*-+;B&LBV9R_^K-M>R%;LNCM\GHJE M1>G;LZ>!:0/.&ZY? (K3@H3/2IXW<*_TC<.)X1,Z+4Y.9G08M0L#.*$;(F1_ M1#$9$>>'A[#5#]@[2D^P)%GW'3@+*DT;]AODFCZ90<)M)P7@32A)U1\&3,8' M>N=8'&O!@?_ :-">F]!K\&0,W46'A#7ILV3I&[7)>#[>1MQPN4#"G9]=--7; MB+/15,AFZ; 3G&S$692BG]7#OUQ8]PC& "3%#89,'=_0E8TQ34K7Z\QV$O5" MM@Y=]3B8>^19ZN/6PXBN@;9+$O$0P^ULHMOR"D7-&?8)V0P.ES])(NJV6]R9H^5X1MS!KA\'] 1+V0 M*%>CC5I1C>#1J:02VRB49*:/-D\S,^E,+'M+0VD,IK-6=JJMW9EVD*0;-.4B M2308LEDY[Q"?W21Y6?I&[6'0#&'\MBBJX^L'M>@%7>.\"RQZE&AW5U0IG81] M#5:AJQLKFDSV+<+3L!-IT"OA^I2AZPLZ50%X0E$*^[7Z!%OG\G@GKIZM3,)S](&\+'VC]B_F8+_U - :\T[7RAVLGWP"35[WHHZS M:'\G#T#=P?)_0/D 8CC/.3GVK+?7,6F+[9V"1;OJ#@<&;5^4OCW[ES[(FA:V MV^X0;7\BY5@G2.,PX8I>+D".^ZDD M)^OM+]Z?FA(B>J@W>V/,"_!2WF=U:W\_8<"S)>4 M0V&7(;I9E-]%2S!Y25GS&JU(-_#VJ(A!="^P_"BNGL%K_"ONJ-86/NO9>%.= M"Z4T('CO?2 S1R&V-"8">!!YQ_=5[2@(,'9J<,54,UD;B]VY ^7 T1D1RCFRE)69M8%FZ'R]B-$HI97(% 64P4."L2M M/JS- @;XIHD-E8I'\)"KZ!="-(15 HD2?:M//O/FB3I]%&&(\9:,8.I0J]Z; M362K>X4)C^[>,V MRR/<"F?-2BW3Z>].F9-;M?)TX&[92NP"IU">0"W 7@W1P8J/Q#+#\&G"6%YI8P_[+K<$S(#2JIY/7[APE.J M3@>H@CJG"5D518T"7CD&K6Y*,?R&%F?UY4;&3,#V&[0(M/T&10*GA>#!*G3O M-^AQV\.VI[D?PMT586[^AK0OPMM"'F5C1&XGVI.M$>N^>('*ECWAO[JVA'_Z M[8'(1MG IG[;:K7S[60VK'DRV]^HIK?NWEN6APW5SV!\[4+'AH? W;&EJQ>* M&#[J]R,:1WWF.*)P]TJEZW7@+E'/?02 5N="?670U[0J7+2Q*=_Z& >E M?>[:27.[UH>_S4!:5@APMD -D6QOB@XFZ7:;5+[+H16=40$L9&J_I6F*F0!B M5:R-K\SMQ]%&6.Y>HO4A5G+C<(1!UG??]PY\:TL%<_S/N/&/I'U?21IV?SB8)%(<0\HIV0$TO.K)3*]MK4$EDB2%6T' ; M9]P& YCJ#W(^DH>R2?ZI+ZLD*@%VB3^\_8F++Z6ZW5%4KJY;#Y7;F7"8X%38 MT1H\&L64&@H ;@-'+Z;_Z'+\DG<9#0U@.EZBM2',Q8W;BK PG?VSBE )4+:Y MS8LRRK*:^]O\UT4:+YI4>;^F64:>::(MN/6I'-W%U:#B6?21^L,Q@U5G^S&9 M 0SVMS?]\_%J-3R+-?77+^L4E13 M*'8OF)H>)E3;-34\R+?[70\+FMWC\W"@+))P&#BA1X_P4-CHIS=H,O5E>D08 MP(*IP4&+A>]ZG!C>:3X/&4.D$XX>@M>5_O:F@R0)9.2O*"!*\$E>"RCL@;, UA!1-[<6))-TN*Q6BXCM.F9&#/']MB,,9-S MC\>8!YG5J<++)4T75U53NM(#Y@+.GH6=0EI)(XD?,\/_I- MFD=YG$;98>;DQ-<(2G<,B%EZW)@9B7Z%JB+K +L7TR)J2N2O>'@/AMMPGG0C0A6T(DRJ1;"8.WH]-H& M2RXMB16"#A&>D_#\= 6>RZ,)[1*@$KOMF!21Y@I/745:<@+/AQ Z"C?7(^0X MA,<&'*!!5=+C@ QR?0A8'\1M",%$8[."E .8/7M#32!.(7%B4KU.(@S@J MQ4V?+SD"448>%R7N:-?%-TBQ/:D,I>AXZW;TI6AO3C+:)1ZOOTT*.T90HS;K M1.&]\"V3)(V8XX[DV1Z-=LK)&F1'6M5T0TZ/5A[ &N05:+VT_017:?SA[8>[ M")%#HS48^\!DR^(M82_*)JM51KQ[S&ES('Y9+:NL9O1Z-@-Q67L\._5P#SS, M$>[E(!U.>,1$K9K,\XXBS! UI6:'QQ<&,08MJ9,Z#@_G^SC]JQ%^U;>N/#^! M4%<(YX!B&+&.;>D2&^-XPQ"ZH&%5FK6KWHG)0![#.U!1%YB[_364W&"#&>U0 M9"!R!MF)_/F('I?#+&3$HQ(S-G*58HD0R&-P 9CE281_O4V;T2^ M #.(2&;=R:P$:.?R<^^LFB3=L1TSI-TNSP>#"UI5K2&3ZF?R-\IK> ;FR23$ M/&_Q;1KBG:V,/P_)';,$,!.=4QH%G-+(_/K%>!XC<\N6HR*'C17""[=O##RS,?"\/YHPTKYS?S['T?H[7_7E^3D?Y M.1WO)^7SZSJ#1EK_=B>N(Y1CE[+ ?L(NMT :3_+D*LVJ$K#2Z4C6ZCX=+JKE M=K5H)R)'334.0FYD&0H/N_N01=+59%T$T RB)3E\FCYGZ;S6V?7+"I#W>)_2 M97WAX1'_6LRB^*#/=PR0FR9/#UHS0/X4S,:2LMV%M)GC?/0UE[(A7D:KM&Q" MGB]A7B(L5QUNO5Q%*2*;%"00FF%E2G6[#ZK(U3T%^]!1DP/PJ[$ES#5D$-F, M&RJ3)41E^GM+XNGL-H]1O9<6983Y8CJ;/I>-,>^$ZH#7!*GVC11M4B%#VZ 2 M+2+=")=6GUQA(+WA\P:B7Z*L M/9ESJ?6$&NK%"GJ*).*'X'RZNT:)BB@=X< MU3;^35 -WA2,J]:V51ADN&<@)C-=]W>*6_X( ML;6CYLHT>(*755'")4!X!47J[/Z\CS;DG.9I$95'%=@VY*CAOIE9;_A$+-%M M![DQ5EQ9D(K:Z57'[?!3(7!1%5A117$%BABEM3M*TB.D\[S.')*7K4-7 MB'6?@EW6R/>CW8+D' 5/>>\F]N#>68@9H]M9I!F@.]K"5I=WW@U((S0-Z=CA M_4=S\()V=$D=@ =SW5XLF^$V_'2+Y\N.)J)-S*#)R5W'0:R>KSJ.?\O$F+F< MKSJ&?L'$/QLY7W4\7W4\7W4\_4GH?-7Q?-71[X"4\U7'\58OQF\Z&ENTG"\Z MGB\ZGB\ZVKSH^&' 1<=>786+CA]"ONC($MSX1<=^0Z>&OG<#T/=N /K>A8P^ MNN 6T-=M*+R9]7S)^_NYY.U?="_?NMX/&/O>#QC[WH>+/I;@%L:^;D,N(W"] M6%6<4PSXMK3P<'H]T@-G:2^];2-)@[MM(Z1Q@MLV:GISN6TCRUEXTSM',NYH M*UVO>VE'7&_DW1W9OH;ZRI 8CP5<'-W"D6[=@S?_6B],D&?99@ AD#Q%+Y.B M +7@]PBL4U@5V8:\I%$7_ATDUR\Q* I<[@+D6'EEP7X,T$X+[4!JTRVX]6'E MX0)=:)1J"T(>]X'-EGBS^C0@ZSG,GM"8_<<2QE^GM:'BOV8@+2L$..C7)G+T M#*8Z$=\Q/%0O V&JW[S5A[P\]R&8R[?1O CYM9P--T)G83>*(^%)SAI0[![[ M8J63HY=H9Z[IE@AZW266VFOQ*490TJOM,-$9\PNH@P4?*EXJ#C$4\K2# XA\@," M/3F:JR&!F2)-<4R02)=F>E3PS^G]CE.G6;G,9R!SFM'K>J><.(TD*@')3D*L MD28H%R1$K7':S7>C7K&7[$Q<\00@K*P?^RA68,GEV05[4"1IJL]/: )>:@MV'E7U3!%*^[(R+C)Q 5X"&=+\KI[$L! MZDUCQN G5:3EQ=$CH*?E%++5$,D>=]M6GV S MJ'%3T@AK]&XP<$/$5.HV3MSD*CI.:34I1\&,I7V AB3'D&&: M#<+"UW]EC5>Q#Z5I/Y6$2:$$".&8L@EU.;%Q)]AEI#5 M#,8<4>\T?P1QA7#G@&*"T@)_NL)_UB^*UD_W;-T;1=,WUIZDF1MH[W1,VK3R MG9FO.<:MOGWHIZFZ,U)WYGDV3(;"O3=)KC&:?&?13V/F2E1-QN_.?!Q2>7!2;3RUN2^B+*P'1VT(NN>VNN04E+ M-='@Z=BJW$(-;9"4??)*NVY URSM%E].8NCVV M00DW-)S %KFMU".5V#TLYS=E=)N?U=3IF*-!E7NVN2_@N6^2IQ;%AN5&>A].3 <15F\"T9L>3G#P'WEHYP_'^+Z'N,%2"IR/^-P!$N$O(=%S<#8 M3[(<^&/')O;0U$W?JD.CF[Y5C<9X+[$PN;N$Y)&B"E8%O:=OHA3]$F45F#R3 M9*HQRYVTT$+W'1>3+;@=__2@!EUHESI&*O%[]!*,!3X#2&*N+S9Y(/%I$>5/ MWT"V!I]QZ46Q5X5Q4Y-JS9C9"5IS[()80*81 U7I$[I#8TXR,Z8L)]%)FW5; M]"GZ!/,Y0/;,6JHU8V8M:.ULULI]$H99RTD40/IL?16TUH[UO2A;+K&@'6.F MS&SGNW&/Y33MBY,LXO:DC6_G5KQ[WXQ!'658$]]*]?7V(MW^,CW8*=65Q]FG55U+B0>9/'\8>^;-(_R.(VRVQS;>D6XX3SJ M+2C=02FS]!B/>:MW+E256QN-O2>\1>T=<%<5^%_DP!/F4>:Q>U0_=C(#J)CD MR2- ZS1.\_ET1A&T>,*\%/1/W#>:;3310;39)IR__RR"%72B3*J9,%AK&X45 MEL*SI"^/3]B[*BJTP7KX"-< Y40P[O.M4G4Z6!?4<>NT6^E[J*<@*GY-,M@& MO1QC5M?')*:F!N.[]ULHDE]^NX1H!1'VWJ_ <]E*DY4GEP"5S74Q(N<56)$% M !6?PPEM^V0(H=- LC%5.H&W 6X#6"9.B@*4%U'\%20'\;@#M42-[KX,K\9I M0%M=.4Z':!FV GBY,S /_;=W ?OH8!956>F5D][39U!NNF#L=QIN3 LROHL0 MJF]J^1--?$@S=9NO07.CO[C-XZPBKS;1A, =VBKZ,\B227D)B[()#'\L\6Q- MOCS@Z1J5()DL887+/5;+980VO?T_YI;HV(PQ]UK'8\R#C6ZJ\')[W.*J:BH? M96=[=%12M\NE52O8FQQ+.OKVNX14$BO>\\Z[;SOO$OUJ>M.=W>1YO]TC;SY@ M7_Z\W^[K?CMCX_)XM^DX[^HN5H&]6ZE>N[U%J5+[-#9OABG-W6:D!HMC[+JS MV&P'VJB#EUU;!KRTVM\!>(5*&Q^\'!8#V#Z__G>5EAO)G7-^X8Y?P2I\&JA5 M4HG3K7(!1^==\O,N^7F7?+1=?H)5U6R\]124Q\0PYOVU,3S2F1K-+V M1(15QKK4Y<,NH892/=X=5)+&JE/#1_P3'K=N(&I[7!RP$0/8['CENXH 93KKNG,TP.M3:1N"#I7OWD &J]YWPQD@8,^@_,NI M=X]@#$!2D#3[1#JLO,,$R!:=L:H82*VS?-"F]CT;I=FN\-@X30G:,U+_'A9D M2_$10?)XQO&;;G= /8.&B)#T15TVH;-5&NB QR@(P]6S3YMB!S:=57RN7V M,1HL;W$9%0LRPZ^Q*%CR!Q 3WI*+J.C%41BC=[P\&T+O>S8ZT]WAL>V9$[5G M@OZ])=B=\0TXJ@:\T[-+JNJ2GK8?JNA\TC?33;XI:&;^(THR,.VUR0R8[1HR MW[-Q&5*^QP8V6,+>E.;?VX T\?J/=3,F,[7*G6E,MO+W;&.#%.VQ96G*)9JT M_'M!L#L3=W=L6UFBZC7J<7"3Z/U-P]0%6RW:U,\6;*NK C!QTX(+HT#\NZW0 M54$G(0!3 :3[5(> 0;0% X F[;/YV^FF (U_F-A"T_?IGG2C-,R^D>O1C"7T MOI$>^-HK9':I]@*85LK<8G]/G7:IEE."RJ&#*[(BQ4$9KH\LE$%QO]!D4 K_ M*N@D^5>U'5/P,' 'OF&[)R,''H7N$#J;),W4P;UQP2O:C3:G%G5^'U.OUZ"2R/2,S"H- M'X6)\QH, $X'.;%SE"<12HHOJP3[,WCV^_#V)WXN+)6ZW9%,KJ[C^SZ\SH3# M!*=?XZ$T>#2**344 -P&CE[LVS(.QR_>K1^=,S4MZ#MGLNT$ $6.*-RQ3KI>!W(2]4;V MX60[%^HK0V(T%'#1QJ9\ZZ/D].UQAZ6[7JXRN '@<1$A7Z'DG3K]LEW.;2B,RJ A4P=LO0:8B8 ]]':^,IT+$<;8>6] M3!M#K([+Z6:0=7!A]!X[4UBF:([=XJMTG28@3TC$)TC7(+D"2143/6")\?] M.L\?884K]$J28+9W;[?$IN@S+CS]EN/?FUJ[Y-J8%'7+>SPNVD/Y&%RX&?UE MM\='[P>E+?@1N1W#5"] CK53$G:OLW29YE$SF(!U"JLBV^SBM+$. 4(@J746 M/:=96FZP+%_R)"U*E#Y7)4BN(Y3CRE1CM-E.V]SLM..703G0I9+)6.5GC'OA MU[,9B,EA[5[HAZ@$1 P\Q69I;;9;1B=YLK?]Z8QBW=LA@&83%IMIFX259ORR M"/N:5#((F^P$<*V;Q'#$<)Z3* XL^W9X*/;*N =YE.V#34J 5U(E=F11=8BM MZ+[N-)QB]^VG(12] ;]Y_] O=;])IDO,&I(4VH#IK:S05P6;,K28'_<8G_3LO+"*'-#*)O),KI 10 "[)@0%.3 M2@>9RE2\ ^8P/:CB4K>U'BS]N^38$VVZ JC>!R3#_Y%X5UA#19G&LM"4IR2" MIPPE_R&JK(_!,%5HL7^&X=\AN()\VPVYX5#M$-)'ZIY0R$"E:\,B3KL-]F'J M7RQ@#N>L!.)=4 PAT=XU M42;A#7 ,:$!IAT2WJ3ZX_#L&H9S@U]E:6@?X'?'%GI,B(;;G)$W(&V@:T\8 MSTFUP3Y,':1)E3A0G\YVI^;'A7Y%:0FNX+>9AK9&C M/(SF&_'+)&QK44LK'"EIN7^SA$&M:'46H#6I>2 M7Z@UH@\E: YLL8\_D^0QX>.5Q5X@GEYS.=D<_)"P4K$$&5^1RT/Z8B.JQ6FVHC3I+ M#?D%5A?:5,*X78;ZX?7^G=?(A%,?KFE>PB4)?VJ"K%]B4!2'D8$;KF&KF>[+ MS,:;\<: '&E2=;?#&CNB9(3O?4I&>(E]=YBE)/E-LL_C6$QGCR6,ORY@ACDN MFL2L&KD)S1CZGJT>NCJFRB[8,39:P='&L3TSM/R'_$(LL1QD0930.91DGYZM MM$>W;;L,>N%G1-P+UM@<&75@+LB *%6'!15Z'9=)= 1]2D.1A*!\4/52Y\B1 M#B"50X?_XX?2NZX-KVS7/Z&7=9X&1ZZCH)J0?+#06CIR)+@M!( 9S/H2^SID MQN>G^V"5ZR;WZ)=SFWF&WR-07B(J,*C4C])P,*D& (96ZNUIN0"(R(G @ICF MSE469:]4J]_/8"E;WU-0Z6I #VSJK060\.V!I$//#_?^N8CC%^[ BU784RQ) MR:8'' %IJQD6//%UF.FIG'H[O)149MP=N;13MAP>_X:7<]YY@ZLR8ZGGQ:NT MH=GG&8^#>(?/'CP5H03<\ MA!X.@PPV&S"@>4]L:$):@Z0(U$HD7<+:"'QX-J"O3(H5#.&6:S(Z7(9B-!J3 M?L]S=CKMTQ8*.O,^W_^W,O/[MVO638M\F_?#PQ]@EMTT>948BTI-*OUL16I4 MW.YJR,5##U.%1L"T;H,!'.93;BK0\<DBYZA(>)AA2V@<+;2FQGCJJN:XX>.J0L1IJYTY M8ATF>_$*R6^;S^D)EB=*X!,F7O+F!/ITUDEV_Q+4[ MF$R*[0N1'52-TWC[XJ[#QH.QA%%[Q92-C23$&&]R,:1L>!W+?"VV+F&_5EH_ M"0.VWR\N+-BF% $\(\8=UZC7M7G+ 2U"M.6"(J%@[,F8MJPL-_08"N!E,;[M M&X"Y#"4YG/,IG0K0%?3E".E2' 7P;EDK=N()3I(D;;9#25+NV_PR6J5EE-52 M/G>E? !8;45:@D> UFD,&KT\-+F?2(%Z,&#%4SEJEGWEPU*SP5FT /=9I..?"6DIN&@<6L&9D@F=N734Q#P% M\"X<=WYF2LC.YC*(FHK/QJ-V*M!7U)M3WTV"JP">GJNY?P"K+?]](^ M#=+\>F&"5T$75F JU7X C\[QA&D,3P.1QQ45(+FK>%*8I&K#)2@[#(3POAPK M.PMYE:S>G7V*7AC 5*G:@:9# J:$1T_!48B&$E^4PTP<)&$BDENE KE,F M.&SQ9#0-(GI;=A^@8QREDF?CF^.@X@'4^:2>8#/,_IJ6BP7(R.,_].W&VF>E M3JT6*+>/0$U1#@:C]O1I].C2,(>CO+#'E^%GH0SJEB!/4]X&9&B>$OJ5=>@0 M]PJ\*3_[YS1I^$55I#DHBBM0Q"BM@Q F>?*8SO-TEL917K:N0, LC5. BY91 MFA4:2<09YJG!PR=&_G!C]-IF.8R>N6%,@P]:(G(CM ;JQT%:I5R7NM!T260":!6AJ>?V(1PF=^_: M':VQP]T[U4:L(HPQ,_\#;)X0S-.X]8XB]9*Q9.GV[,HK[?)JL&H_0%5I*=,D:U8^[ M%A>;]A=.WF1U KT,[O($@O3!!FO*K'A/YTC-NI/9K'X?$"37V&+*#3,Q#+]@:S9E%72[,'6.U/I/:@CLQK$#JVV(2;36@#0LCK ,7V^$81OD\Q;[%I"A B?WAS]&_(+K,HH+W4)D&A0XPE2@$[3#JZ\J. MXZC#3P Y/#AB'81BGEX,I"(/;CH5YTZF#@CD,"VA)NJ0K,"1))JYG(QQ.'L% MEC ORN8T\#9?XPD$(FRB[ -:N1KM0UI1#;<.IF[O0!WY56%%XV!_@"O9<@". MYR@#(],A]61HY#FG;L=&.8=U[-'1DV=A2(HQUH,PW6_MR(+#MR!=29Y\YL/F M^BVY3VXE#P?V$PK]KUU(.'^OEJY>*&*X'Y"THW'49Z//35*]]AF+LJR6S'ZC M?F_U7.>[P\@SBHZAF&=ZYQV__4"O[VL'1B_\#J1];W?@\7<_.I##LU0'4NO[ M/(W*C)OT,#W[(R?SH0V)H5/B<0VMP=-!VO#+J*CO<]WF-Q !/%]O)VKJW2)A MX?:JD%/8C?F9OP,C*[^E2R[BY@/8"&;N:W\IP*S*/J4S5J(=A9JR)Q+MF@&" M4E\SYA&JPTL ,0)W%>E#DH9Z!1$1OLY"S4 HOW WO02C<, XE)+?'O0$S0=P MH#!)UMAV4JR.^?4+N5+-SOK**MC+T]HO&##"A'+;0Q>G::M[%0S'#8^S2167 MOT8(81DV33HIFM/&+=AVV!@% T2+M-R6'#5^TP'DLGX :Y!7X 9W32L>-65F MG!.6[X4%,\L'"#=5+=@;H\0_,(=V+$* M!XPY*?GM 4[0O.B)4/^2(&]7UI<50B"/VW'['W&_$N$NP R782",NS78$CTL'"#P%(:L>K7@KL(23:@%,F$2H* MA^G*$C1UF;*;K)B5S1!%";B#)6BQ=DMR$8"B?, .;_U\=()EB;$O$LVIB-6E M<92M4)E&J)@=J"U+H-7FRFX&8P74/H!5DV*1O76C4$V$S5ZU4X(C7R<.$12=3076Z_2Z9.2RHW#(! AH0SJSN9^DR9AHX2]*?.PT#>P5 MC"MBM.2TLL[=<)OC)=[RZ.5'"\U>PKS RD^(]BZB+,IC\+@ X' &Z+)-W'U8 M PN BY-N-QG\9E,5&B.$ M54VLT^3=3ZL(5UNFL<66KM*"##@5 MN]\M8SA4]PE<8?WGZPV/SG"'T%)7$5 M'D%>2ZNYB5)4O^7T&42D'VNC<8(8_MO 5IO>OZ^! M'28+&)1H-/T8M5:]C.9/F\3B)@ MLZ7)']^^^P<>M>L.JYU @LR\1.ES5;MI[6<1++2_'4%QDV21O9V^6U/(9564 M6.&HP#Q^!'".HM4BC2?D)0*;DSPQCT/.2LO>%.EHD%N>'O]98><:H&RSM\J6 MA_HECZHD+4'B9@R,%R"I,C"=K?$8'&W]!LQ@ELXV6!=.F-!P7APX,3*N17WI MR283- ?#>J,4!\!ZFU0WP'JK(F? (0,]E\!ZVQS'P'K;K;G;OIS',[CU]@;, MH]9YDYMZ[,/^L)!Q:&+LYCF&>;QE.3NP7$+4D+3/ M.V7RN".GY*2S1VG]:0&N9S,0E[7R'O9:BQO#)*IC/)=9PNL($8WNNOPRRN+W MKB=!A]H338<';[%^=VS:N&HQ9BXM-SZQ=P?S7S#J0?* _XO2N-Z1PQQ[Q.MN MQ+E'F)>7YNVV7JEM9+I]=GO>1TN7K4^803Q3Y[["X;TGDP)V;K"6=XZ80JD&R!Y M7=2&G4ZH46Y<+'X!0/1^$P1]Q%CB&2QQZV0.3LJ*S)(D8":)]@X1:T5_@OYW2VONTFP MR^K%SI>MSW 3\H_:Z9W./B+LF'W)4>,:_T[6*B];I1=?RN>15+VS0OSS?N7@ M=G@[7N/N.(.S>#\AP1FL4 R+LL V W?EL[K\B SBT6Y6E<39Q>AL-KC@K.8J M\T"!T]E-S=PVNTK]\?"4+G;:<*=_P2TA[''&Y/@](\O98V+[9Y8&UL[+U[<^0VDB_Z_XVXWP'7 MMTDAJ^TPX;FQ059#$=8G0D"RU-)_^ N"; MQ!M)$E([8G?<(O.!(GZ92"2 Q/_ZWT_W._2(TRPFR7]^\^Z['[Y!.-F0;9S< M_NA#G$3))HYVZ#R-DYQ*0B?)YKL#=$Z^X+0@/KDXN41'47I-DK=O MF:Q=G/S^%_8_UU&&$6U4DO$___.;NSQ_^,OWWW_Y\N6[I^MT]QU);[\__.&' M'[^OJ+\IR=G;6$$?)^Q7;!KZK$O]Y<>*]MWW_^?3Z>7F#M]';P=<@U:5?.]^ M^NFG[_E;2IK%?\DX_RG91#G_MMK?@:04[*^W%=E;]NCMN\.W/[[[[BG;?D._ M'D+%]TO)#E_@&\3^^_GB1*KSI^\9Q?<)OF6==QI=XQUM,Q>1/S_0+L[B^X<= MKI[=I?A&+&N7IAU1K&T_L;:]^S?6MC]U-7SOW=0KDD>[\=O;5@/0:&I=>()& MM]1X-3J':6L^;&[S:*'JCTPQ^^Q[L\JYZ\94_>_O"NM+X_E8__:[G9 MD'V29Q=X@^/'Z'J'SW!>*>*_\3^_4=+D<?OY\AL4;]4+ATXRT]EQ>EE-0YM-+&E?#@:M W*3JO< MS&SD+([(8[Q]^^XG=$ZC/'P?;^:U+!=T$(]NZUFAA83&-GUP:6*QF^=KS.WP MW6%IA>S)?YVGY#:-[I=/<=8#L>!-^3L[;[Q,1*##;SCI"I2CNTVW*/] O[$_ M_[]YH2OZZD3QN7K0:U$TT%+UEP=T_E]RG5WN'QY(FI<:/N'[:YSV>EI'5OX" M.9D7PG3:_>"FD"['GI1IP=Z@\A6J45F\G1F7VEXDIE^\AU@9>0-?8V1,%[BP MJ?UVO\/KF]7-#=[DV3KYL,^ICUY%:1(GM]DRV1Y%V=T'&GC2:"O;[U@6XP/] MDJNG.#^GP+ABT5SW0#Q"%'=0+ M$0N:09 (TG^R$?N_W@%.=)5*[*,ORO:ZXZ_FXX-%8$SD.$ YM '*EFSV]W2^ MS-=)[+!RZ(:5PV\6%_B!_C3,,H[Y'49Q]X"](#3G!H1&WSI)_QO!JJL M!-5#":K\+LH1G:/%29&F9H05S?4^BQ.<9;@8U-EJVCZ-;C%*,27F&F@H@.\? M=N094Z+M/N6J:"NHYIAL^6N*)7(?;]">0HHW)W]&FVB?%L )A85PFFU$6WX6#:V721NUPV\LUZF0 M&[2:I2AY&G.Q0]!T%F,01K]_OJ*MJ")N89SK M*:7\I,Y2O.S/L^U^ENFN7&ZSKC(7QI/E S8B,@G-%#N0<-\7B 0(%3TGX2BM M<1_SF(;2:8'.3?2:',=,O[A6@_90_# [H&MZ/W+JB[$TNW MZ&;FUIJ.QB^VHZ7NRJ:K9W5+KGGHTSC!?+^"?2AM)L\\J-;)&SN\-OL]HP?: MVF9XA=P:Z>;!MV*EBHE#7%[X8;@AB&T";C*U*D/-(; 0OR1%)4<-0#,<'[.%[ MDM\=H(89_<;8$>>?V1"F.KTD'8/'/K\T[[CZE*<12;=Q$J7/U.K*=O.V+J\S M^G+3/W9KPU*-DT8L?N.A1:L\QSTS38KQS43 XFC]R\DQ/T2X/#M>?3HYFGD\ MLNEUXM(K_?'%@+4UCK@@;#HS$TQNS\DNWCP7_RL[UVO+5GY"F&1@*(2*X:ST^8.016_B-&A!B'XK M_QM,P#8^1*6AVG@@G35(6SY&\8Z=;/I TLMHAX_Q=7Z)-_LTSF.[^)_TSRA.9,LVH#*K8BLP,OV*LT#^+H 1"ZH]B@HP(!H6K#0*-86W M>?2$]C41NJ54& 84J&04I_BV%!#<)PC1G9KMCPS1A1PWG0 MH.,MI7J;1:PV4WOQDPM$C43$1(:SSAFR/4I#@Q MTC&HD!Q5_H1SVG/D]OD\ M)=O])F=)U$N/D8\Q;!'(0TTB?W$ ;LBYH&541\&:(B MJS>ISWS:T (+Q+ZW>K:H9VP,+0#,@2[X&ZKS 1T;H$H257O:W.D,MSPYQ5VV \NKE2U68W,QF+UGH9 MN4%144Z2K2<_%"D95E\S+82A!R8-Y2UQ,WM\6^@0QWX=[# SXF[O'0L(K,#' MXLQU>J.U."I78)'3HC;QZX:BXMC<.&#TK@1BJL>J,(A\.FVCSA^)ARHDAI?/ M'AV=LC(=HZ'3K8B')' Y(TEUGO0X3O&&\EWF5 O;I2.<=IHSE-_#A,'+VLQ; M!!.D&.F3VYD!^X+2-">B*RK$RL;&EAQ -]V"T!G. MV?8X.C5YC+=X^_[YT" M"?6S;]!?YC?4@K5%X1]@5/ 5(;Y=MI+$"H.\8<)0G'S;'.)%C< #U(A$C4ST M6R5UYK$<&.-D'(3UW1:(\)9K&\WD7I8,*3RZL54U_*U:_POT.K02P M3TNUBCK\-H(6#2%;X*!^\)X:<,9$'*",T\Q<.-\%,\2G+_LE\"U$M.K<^^!U M.F,^CY[9D);1X:YI[/KFB,. _X:>B9@S5%7R#1C\2N<;MPC 2(V4*2KMZ]D5 M!CES(7[SGB?V?=,OV:]E;-7QMT?8;*-E=3'5/K\C*=LLMKQG"\KOU .ECDL\ M1LJY((='7=O@1T:%1N-!42ICT3PJAC^4-O88<:*@QD,M-&1#H2&F)*.@C%LZ M $X#1N4P"[4QV5HG3*C&)E>%YVLQ\!U?)0LJ>.J:29=?5?0FG7J-'[]Y;P4P MM)61 *Q4Y^U11;"M;IHY0"UON_P*G*LI2,'<*^P&1@[W1JELQZ*.K I7I&1^ MQJ31[FD[;FZ?.G D+M!9VC,FA*M9J#EYJPK!1)LX0$G66?G4"^WXBJFEW&Q%P.2AW%MO1*8/Q6VE^!;)EN?GW%H MA#YK8RUTP=:='DKN>ILXN_BLB#:_,"%XM^6[R/FSM]<\JM^TI* 'VJR9PWAO M9 XR0IX8[^>);,4-LT^N%-A0US%6^U*9;U$3.@%C\WE,N6H;1E M?.TF(AU5YS.2H$IJ-&OYY9XGLF^=VF6K_^1+2FT MR >M#@#V>T<:AGP1XA_NREND Y M; &0 .$P],;W(0K\YL[O-WO\/I&_GM.)7=\.?%6:6\[7K^,ITL[ M/1/DEBH5*5$K28N*G.V:46_1#N>B"C<<$:_N[:=<;62T\K"AHA@VF6^M&0C. M14'WSF0 54[T*\6O?-%@ @3/N^/:H*57[*G#*-7ALQBA2K[1[;K3OO%'IDJ= MGQD74FQ&),[Q HRY"QU8@>]V4>.^] M]BVB+=1F8E2/.+TFFJ+M?>'*NMA=XL51,+NZ0]:I1ZWNUPG3 M/74]J\L\2K91NLT^/VRC'!_^\.[??OA)6-O#BJ=*T9CQ^"5?;-KE69K64)4B M5V(D8=&0H9H.%82(4;[]X:= SM/9H8(X=5H_MV'"V\I:.&%PPFMZRC-_905" M\8+:5?3T'B?X)LZ+F[)PNHG980?N3=8/_/1^SSK Y587_L#)];L5"/KW 35A8Z\Y7G6. +Z/;[EC?R;H:ILY"M]046T@@/4%<*N0BS$H#CIDI62 LJO MP2&8@(-H4,'(4VZ[>!&TG7F<>1CJ^U#68R@<)OWK!L?L8E-Q!7YG_BH+8,_O MER9P;2],W407]8I,@[4T=OR:_L4]19S;VH&T*D+S M3;RM^(@]J*3/7(+1'83$&Q?]O(BMG%;B)'13 %U[2CI@# M\/(KZR:$O/=95'N-0 6JW11#XOVPC?=E%^_%$=:"$WWX ^^=CI\3[VZ%KH'6 M=^2QJ&$L**&7QGX#>F!;E[0'VK*':FSLN,^]:&KS9=Q8=?.[8W)/8[G@3%8& M!H6)JO$C-\@>G\H =9";<92 M__1'G>T%YCF:_/:!=UCY_N>AQ_B]4,>H@=NF.7T-JJVSI(W8C#)]Q,5!SSC+ M]A%U"^AAG[)_\9VUI)& (B9Y[L(MH]D"&1U^HD/ED'IZI]%'M>B7E1$U\(QCHVH=2Y. MDOYYNF8++=6%&#MB_.C=(2JX7^I9$S/; #AW8F.$]3Z-<;1!G$>QL_8)?7$S MH:&_21&3+Y_B_JJG$V_E-^UX_;RA2SL]]VU9JE0X+2M)UA-4QC7WABXG&!&O MWNT[#AL9+7?@!6)G(\_2O&7@]*^^<=-'_W6!:;R7\]"P::8P5V1 65_UJJ#T MO*)0VP:0.S)56E1W$^N<&;'$4U37F3:W7T&A%^Y\>F<^=' M7-SY$49VUP0+Q*+3!I<02CG:%P^:HVR.#I.SJ!-'52]4X MZ< ZV,YLP@JTJ]F\E5";FXTTFNQQ-A"T6!ZOSZ].UF=H_0$M+S^CL_5WU1;G M W3RZ?QB_*E\=Z^7UZNCM'Y\N^, "V/CM:? MSZY.SCX&9$]8$FZ2MD5H/I18B1%NFQ\2"D&Z3Z T(LQ>!QRS:JA/,.;[V[)X_?<<:3/Q4A> M_M$?Q,O'_W7YL;\0\['W!=D#OZ6.CX !*Q>F6$SX^,WBDHX^R_/UQ6KF+/[' M(=(''[?.DW]L);9]/[C^4@Y#-VU;^5.CT.=N%KXAJKNL4]$%4I]3WO8A#FQZ M:-3;6;RW+!FH -JC9*C)"V2'K4J8+%?4O0^HQ-_E_"=E1\*<;%,1,.;FW#;$ M!MUBH7"W(U_84G#&KY?@:\39,=[N-Z*#?+9LY0EK^\!\GR8;&5-3Q%W^^.<;EW]_.:Y76("&N'=BS3U/VQDJ=@1F* MI=))<7K+JN$>D2QG4^,GM@6@;QY>,HQL6"IC1(/6M!L@RG;5[VKH,HF+\@4# M+GN5\3N7RK80>CY$'J'E& MM/A>NTPL_(%?DK5*G$?P1J>K55<2%N4_4)0C3.V7AM+%%5XA&W ?"H8&*T:0 MF8%6G\G0("<$'E1:UUR9)^98NJ F1 UE>6=?07N 2NK7BT-I&F$,)$(6ZC-: MT6]:E6S_MH]V\6U"1:*RLJJY;7VZEK(2!]W<K6)IZ3*/TMQS<4FS M8\M41GN!Z3V^C1->*_ K6&:2[M@:);T_W+=,_.R#5N5 M:55)CU1C[- MO)*7%[3:]-5E,=NY7;*,F5OIM&K4K$JER3F?4@C03S\#J?YH!0?3%(H(1(;) M$\YJG#@10R\4^[NBZ@6%<>R8C&RP81K1"OLM&],.6[I<+;$686"+C#:(:C>6 MV# T2 FFS$RR8C8U2BD6P]C_)MKNXL1KN>\-8CN+4SNG21?HMZO82;),$82P M%\4-1=:9 =5>$RL9]OD X+TD1G;=W*]KW$K\E+_?MR)A0"@X*IK7S17SL-#HN@Z[!=D&E#Y&]\FC&(9 M+._3M@W+@96*05Q.,+?"SVL\TH32W.83V(D32;4[.R:C&!NH\I==R\:,JHVJ MVAF*6%P>_;PZ_GRZ8O7L?EF>?E[RXG;+LV/TM\_+TY,/?V?UZ[Q/V=;P8LL"NP^@GYHR9Z@B80,& MOU'=N$6>0[>)'L7XK&=?%,5A6D2HH"IW9AP4%T3,?=^&.0*(?1_UATPM8VMD MM$=:&(;&O$0?V\;T!F96TH]F99WVC&=DE1HW&RNX]2;&Z<*UL&[?&QF8""XF M]L7YS,QK;(05Y@MU_BU\,XM\(RZM^+617U_Z>=(YI+@9W- MH'(BGE(UUP5[V)6/^]G3H> >IU>42G+[KYRB6P[-MIA#0 MQ%IBCD7=]?QYW?W?O] M6XUJS?BT3M2CT^!];VQJO0?!Y4 ?X+C4EJT'94,M'I.6@0%SV%,#6,HZLP_) MFFX(2'E_3Y?FI8$;ICURM$]3G&R>CZ+L[L..?/D9;V_QQRA.V*TF%WBSB[*, M]AH[P+J*4G;^,CO#_850$%GE9_24Y64_(+_#Q-9X\B5^Q%=JF_-MC]P^_20O MEC"5@QU)J8M>!2U[P^ 0;5!!1< M/5_C);/Q2[ V!S'A^T+4T[W^^_YDKWD/$^CU]0$%>2VQ!@%>3=T*[KZ0P$;0 M8=<, SM)[PV"NHI.$-)).]@#?5?14W7+R07F+NN*%,G[7^/\[F>\V[+[P.H, MR!%U9-2+\7G<.>V[_@8$*''EU_$7YV4*4+\&(!0%:(K7O,4Z*8E"CTP6?-:-!A^"32&>O["5VSC7EZX MC4'M_05IQW@FQE);S,CJ*[TN&B.[;(P,U5;67FAH2T/G?UB9"D7!VMFL!]5[ MT?)52AL4\9IG5:S\'E/48?HCU?-D$T[QK%C-"3D'-FFCG[.Q4V@\I57*693$ MJ*)&+7+$Z-$;QO'M ;KF3 S[0#-UR,+,TR\RWZ$T%8.GP-3:$X9:5JLGM M: N+'046F8?NHF(K]Q#*DJ)%\D&_G&B0?ABASZT6$DTW$W2DVW3XH63AYOT+ M3COI5Q-->MZW:N)@,0AJ]B86;+%6U[%R^C2PKK99H],:NG=.S Q,5OH2:BQ3C_7S@RB=N[1U^K.?FL2LIG>//=+7G\ M?HOC(A]/_]%/P]-'=7M8?3Y)W-1^U8N/BE<@AM/6 C!?[XG56P G;'#._@P# MRIW//X"LH'/ZP.1E+ < !.XZJ+!@(-.LYSH^ZB7UG=:MR'MO2C>QI$JW_)32 M+KKM@4'XKOPUO7=>QSELDA#2-,+.7HT( .84"]@ M$-*7KQ_3NAS-T%8\IQ'X%K$W88QRXFX;#'>JWNV/>AW:X? W.@B@PYFA<$L, M= *<5X,";?1C@X,YO-J'.-M$NZ(9'^BS_LYE+5W/NPGH0, MU0_HY40Z]"@? M-?U?!_Q _HAZB<#";07%"MPP$C'&[Y*E&@]HPM. MYO.0?\=1JO>/ RJA=VQ1 <)^H!O<,[8UF&*^X1G@G;T*#^W#+I1@7=;78IS7 MU#*4CPR*<3QA5[PU)D1>\+6@PM#_F>-B2M]79/8O\&W,$OI)?A;=]]&F(BE_ ML9C$"]TJK0#^3B)>#FPAPZ)<7VH>(_9\7CPK^XN8?-\>CD6D#8B-^MYC&\W9 MGFW-6=_\;1^EM%-WSR=)ED>['3.<["3Y]2[>W"V_1.DV^S7>[7[!67]3C;N M\CNX"/#"OGN+859KG?3+3<=!W.+J#J.$\[$:D?^H.%'<8F6E!KXP9A1Q;O2% MLJ-'RC_S!C8/Q!%_#/2LUUY08]L R)_NB-;GRZL41]D^?5XFVX_D$:<):Z>P MIH 1;?DA-;1>EF[4#K\X3J=";K=JSL7G2U2]YWLM&HI ]@Z;=3*QZHN><2EY M&CL:$T*B\1=J#B"5;1C_=45*TIC?/E::/MH_HM!+H]U)LL5/?\7/PG!? M0M.)]P0(0 MP'HSD7!+#+3\V2M"@<:GV>%@2J]6[*-M95'$2_%L8ZK[4EB^M4'AX7$Y.TS0Y.B ^YXH$*^/3B*PX*O%QZ* M$X2N )D^S/L0[W!Z1%7?DE0CP)@;!?J! OO^M)U WN7OAK4^5-4 M/0YA1!?W%#'XM,*QO$/9'\E'[G/8:&XHVJK+6Y'<:^AT30AGWNTS3$KY-4#\ MJINB*-1ZGV=YE&SCI+^+VYRA.UU5,D!,6PQ:!#>152O3SFA4[/7DIKB:Z;)] M&QAJ$89@)$8PZ$]\S*'3FP,I& <3HCGA!CQEUFGR05M[,OT5XDTWZP9"W P. MO0B$+_ #2=F%0I=YE \V59F0=IVXA!3"GI2M@'/<,C5:(Q(SUL93SL?J]Z@@ M",)HU!W<-Q<3./3,1,@R,)"IP0/LAN4ZW+#3=KVO'#TZ-^N!G^E=Z_G^>A=O M/NQ(U-_K(GW?<:*=]P#@%^@#7P=33LX("<>FJ MGGV9L#;FY@2[Z6QOF64XSR16)GY9?H[^2[^J2T)-)C;RB--KHJR=U1>M*+W4 M)5TL+R\ITF>NN"3N Z+^_1+O]8*>N#4_Y20QY M_'9IVK0+Q&F9:E1LX322L.!5H]DIK@W[!VXH9][*:84$XM11/9LRXFWM]PP% M=W:.]H&76J%!29I[HD^WA=A0AAR!Z%_^]'3XP[L?_P-=X]LX876PV9G@XA>\ M7GC*]R"/ %#_VTZ,M%C=@/)054SS!:CF6A1#&28 Q?3MUP!-Z64K8T#3^\XE M(RT_PH2IYLI\$?EC"Y'\'RW: Q3EJ")'G/X5H_''*='XXXRQ]*\@THRX^EI/2R.X,V@,3(:CUR,U/Q+9J7**O?SFM#)GU* M+#Y^SUH4'(V-S((6J!2"3H435%CHV@)+\_Z@VE/W.E C#4=]<3-K=F*YV9 ] MOY!\@ZG'I^T[P[G8I9J05BE1):E?Y<=W!XCU*P^! M_L>/AZ*W[WZ:.=%G@AIBT[O]%*""I940G >1=IY;G\+7J7+#)<\/#Y'Y6H C MSQY[0\<[;: 4;I4M4*P1F 2 N(K^P)EF.\0[BH_II]MB/\_$3UV7K( M;),T2!RIZ^P&NISDT(_KOV(#LD;( [06]#Y;LDDFVZFHTI16<7CP,) M;-UZ6SK&V/7WO DKA:=201L2L85:F[VN"\C(VG:C9HJ?NQED]BB@U?T8_BO&ZXI!8L;38)@9?+QJV!" 5 MKE5DMVS48A4O,AZ@'4ENW])6W8>W\2O3#BGT+ZC#\_3>(/7-ZWB M/>>8@GY@>N,KJ@[(C*C([UC-Z%_ \S#.F.U3'.$93^V",[[EG*@M';7$H^MG MU*8K52"NXP!56A!7PQ;RNF6^2ETS'QX:W[C(=##N'U0:36'K>--T3F,ZW]XL M5V17:;3%RV1;3 <'RQG+:OGZ TF/R\7KBNJ<[.)-OP#O&*++;H<5[>6QQ_B5 M?CX:N$5RKPRJ:-&2=H"X/+[IH4S-B%8AEYT-%97@] M-:;?9SX:-8IED#$1V7.WD"H:!QN05=O?"@:56W#4#'DU'/^&N^EDZ9&IKV9SGN9T$&EU6*B)@_AJ!X4^X=M[-M>ROA5 M8E^V*CHQ]N=<85T]Y3C9TJ@_)=O])O\U8I."_)D.2>D^VI5_QCCC596V/=-S M8ZZJ'5DR^Y7 <6JI9V4<6YV*@CEVHA85/2H94,6!2I8#.@INV*V'103:2"BJ MC,U\/,X15\2OM_L5>JR$M$KWA(MKRXU0FLI?]JJA ,["O O\B),]1EM\@^G; MW=Q%HB:%K+RLU"2@]8[6U L&8QXIZFEQ71Y2'"QJB%[3"I'5"2/[-:)9%UDI MZ!]PFC^?4RCD=.K.#I@^L'AMN._8A+3\0&I2+_,Q:06 A]>HD=N.DG%1_\6S M9#L6A-R1W1;%]P\I>>3Y:&I&R=R[*XVZFMAT2<]R5"R-WMKL]NR2I8^$;%FZJX=<&Y;ZA)$)B^>I!_-6 9U( M,E*H.BAA((7@E:WZGKCTS>"XA9ZU?0PC")Q!3<>,=?F!C$4%#5V]-9XY ML# ENBP$X2&WADIJ$:#>$W090C#R*$=';P4SRE%B=QWPO41T'2] M(\^@>PY?4/?()M&*[@GD,+7T")&29GBD&NS D%(O],%JPP-"8H[RQ&T(YQC5 MG24Z:ZL]\2.D%9ZW';?K1SAE;;SR)^/IG;4.99W/!P4FAZZ-<3#K-% 5Y1SC M-'Z,1K(WK&#L,OL9;V]Q-@CWVIX01&#;;7H*'&UB9/>+1IX/&3?& M;1ID*%XQ^V$D\6V"\-/FCAVA80_8ECY$S91?ZA'"P "#7:.YCY,]F$QYS 2; MS74<;KS%W3.\.2[?$GOS7,;Z)$W;FBH(BOMZS,U<7.(]3OBIY&3U2 M_1E;0LD^\:*8/:-UY"Z_KC6WEVMQ;"O ],]>L]QIV,I:E R%V9<<**U94%;P MH ?&Q/9>4WBBSTF<4YZ_TC=;5##A$HNOGR>?:7(EH;44V';.P7D/XB"SM[\6S)FF-C,"SMB M4"$'O6&2OCU +6&HD8:B#!7R#M UEXBHR#]B1Q6B@HX>@YP"?RAF*T4YH\WS M54I=Q:ZH % G^6G;STG*G^6%EV&K E?D/)(E"4=5I)DR0R@:Q47"?0&E(?]4 M.,X$WT8TE+2?9(,TT]ZK JA=E#+*>G+L#'8C!46U&'80/U1/"F@F6@\+;I(Z MO^NO4.^/1S#_J6M$]KQ*]V&G*B1(%4' Q%TM4%5D^=O8-IQD[D),_ M+Z\SOAK9PX$M6_4AC-F\\&G;.I#-019*Y3 W%K(X/5F^/SD]N3I97:+EV3&Z MO%H?_?7G]>GQZN*RN*[ZI_] J[]]/KGZ^[RV8@T5XMJ-/6LS96_L,3!X0CE8 M*WW^V&1.ND5;'X',G]%O%[XF)2. >.ATGO1QBRHMD.E/LRUT.H[#RMJ MOA@$M9+X%3WLTVP?%?FEUM3MS>_?LGII++(]27*<)M$.5;5ECL@6HS?L%?O7 MMS/'NN-.[J2@'V=Z-Q7@(8O\6:CT1OMA)^]@"N2O(0LAG8*-!-0YM^S7E6&C M9Y:^EMPLI"3JW7K=)P*Y(%:L&20REZK0WPO;8VGN@WTH7H1Q_:NDUP87ORI[ MMYZD"HF'5[U.@ *P#(-?U?! M^_Y=!>L'1IBMGG"ZB3.UMRK=]T!E0^08]LE=L$I.Q^24BA3R$2X$S M%W.=U+K('.@5W>@RLNK>W2Y3>Y*7,QQ\9(5+Z]_V*XYO[W*\7=*X,[K%_.4Q M-:8/49R.,3(X:@<:)*RUSSI>.'XKD%G&]&T?;QRQ;TWN=9'B6LTE5Q MJ0/4E':W.B9,]V6>?Z^/@[%3(.?^/R MP[EC<#PS(:,CLY]_A=;32MV.;NQ37N5:K<2Q);BSZ!XOG^+^&0DUT6"?>Y<( M:*E9I!EJ'WM/MLD*EO5[,]Z>S-^@W]BZ8]6!ASPG6?Q4]/%SM;1.+5G>5 M2)@3Y,?D/HH3+B%_2V' M?4&N KX$&2\AL'YW^(E2W&7K])30*06[4'=_O]_Q8Z^4#"S -M3C'6AK]'0=5I! M'#I3@G*JI7'MK\>AFYH5@$.WLV!_AZ[1!^'0;9W%2W#H5U_P[A%W!RK9=HJ1 MM7@[]/,TP52] /]BD,Y BTXP)R#1!&'\BA\QY_GO=$_;TU01D1X!5],U MI\!E=+Y'@-7Z(0J/*G0H3P)+N!;E*X2?V,[5N:\MU7!I M@6$W5;\E0%$=5#<&2+^89%4,M EI&H%+N@X;-#1>AM.,0%_ MI,BJK'@A9>,[,K;--2O@9=/?\][FTVJ2^M%E)V+Y/14+H?Q^*L@50 M5X;*E&AN(Q&SE3/8##J2F']RT8T=0H;>C1O3 L3. 6J6L#5J7$#27/#U MRF"BOE++&2@PU\^)10--!S0:G%!R6*&D,X(&=4>X/V)D9/OK(%*M!=*!%O?FX.I+S7A'L9FG!&2[_-NQPE@%;[=OH#L$7ZH7Z()?II3]H[O6ZXIK"J^A),6DW(>VN MVDE((5+ORE: Y-YE&K3)=S%CG7TO[UGF[\.)MXTZMY^$-X%"+PLO9!DDXJ<& M#NB47JO(#4'%=1(93NF80HGYH4Y>;A^&V'1Q7RUI;?,\C*ZS&0]1=AILSJ* M(W)_'Q?W@2^3;1%6WN)D,W0@'4H T XZE:BQS!*KY%ZR6_,FS3 M?CTOPDUZEEAT00__"H[&'F;!#)23TZEP@@QS@GW0'+T^T$C=IB]LYKVBP_2F M4>-K'T>[KA'F_E#=U1-N]X6J;@AMOZMO!,6W"?-:WO2CW<>\=E=*.<98& DKWGL!:19O>LY ME87I)+NX+5141D%!47X&(867<2AT GA0L72Y/8CH%_7#XAZ< Y00]!"5]QD< MH'\]^.&'']C_%U<9T)ACG]^1E"67&6F"$6FJ4<]K'*H.)@8]TC,& 65C!9- M!#PY_^?/!O[_Z]>AESP/#Y2\M]H"A'QWA37#CZ MXSLJE?IZ3O3O!^_^]<\'__K3.VL![WZ:?T[4_I#BB9"XVP6SGS9A=\K3%P$+ M1: ]9$*Y%B@\K%$8G@-RZ&G9SC"+GI[YGMWJ["??I\9NLTCQ'4ZR^!$7"R!L M ?H,Y^N;J^AIN)3KPMVL[MIQ^Z[;N;05ZI">I6[EVIZ5K$7[9#?A.S4W;1:T M([-7Y7.$$?'LV^'BH(V4SGIAN$"V"T$>^ 55EWF4YF!PUB]66TI;O(^HK UF ML0+E0-?X-DX2%CR0&U3\@J\+T*KU[DD@#7$2UDJ?53!30&*5J H .>B'@_3A M -*81<5?*9@5!W"G ;/WMGQ+?3_"1.8N:N$P_&,WTBC.A'28JBUK;QC?MP>( MLC*,4^:O#. _S@WP'^>]#2:*$[Q=12D;LMNEIH[Q3;R)^VMIY@S-#3%:!M^[ M8@Q;!#)[,%*GO$9&Q[ZH:! NB6:_1,:TRXE]IPPOEM$P=JZ8F1M:4!EE0TT^ MN"JVFI;(JLC0F_8P45+.?+WR.'B31N6PB ML1X1V)X1V!P3X:C;X!%BHPF81 MF\;[R]/EV=$JM+5HDS5HXY5GU8HS>">[Y#F44T*)"IMNYKF*E]O1%IL,5%WM MG1P0B+2:_VMVH$O$6W7T8;4G/9/O7WJ1$)!-QBTAX#NE%H@$FC5+)%OU_H]6 M6Y%>) YDR)')DJH_,>8N;A MV1V^!2!8OVD, ]'I$2/@E):D8Q.>,ID#:B,<(I+K<4=:[[@11]GJ50+*Y(R2 M)Z3F/5R^VY$O;'7D TF/R?XZO]GOZ#R8[),\N\ ;'#^R 592(-J%M]J@8,?K MMV;@TDZ(4\:6>A4+!E:2%M4KE-;O#E!4R>!'D[>E%!25M#.O$SA!B7CU<'^% MP$9&:WT@5""#E9"Q5@J$8U[NI0/:B@75 +]H 3R(RJ)3 EF^-6$"* =TG.&, MT,F?_DS#D$QXL*%-!KAE?:@=9 %+H<1T_WJ+:7C/CI@QCGHT)-OCQ;AD8O0LPH.@A2/0C(; M:;]+C$>#$[$!]9ED9C0IKL9QND(MKJ 2.N"""#54KPE.AA[9%5#!>>=U55;6XU&8U M&;[&]-1]-<[@4OGJ=9A'Q/UA9>6N78 U>R&P\K"A- .AI&D5_Q+00)U0'2GQ M(--@=%RUG7+HGIL.-]^@[DK1*59MID%(*SS-.BXP(*MZB85;HJ)UGCZXO((/ M#DP.KQLC(13GITDD&% .'2'P5,^@#=!.T2IYH.+K.9,!C8D? MHN>Z@F.TVV7K&_G%!X/$ :#,.KT (M-SD@CXNT"JC\&T1S7CA-"PJ,0@9I'H MOA;$SH]&P]M6[J/T=USLNLUJ*7-/6R$A349!U& "#""[/4T>PP!GC":+BD6Z M2+)+)8LB*RK8"*"K>YSHL=9A,?B7/.*HL:@+%FC$V.M-^; O[';I@%]0*P;[ M,?$Q6G38$F\-#EE4&%RA,"="AL@(:YXM7Q(R(97Y2+ADO4DKQO&6ILM M2D:QWPQN S2L$O\:S$H/''[,W:TU@F9U MO$5IE\L\RC&+H"67$6BHRD\BI?*R$(UN/].0"Y?;A(QG<;0^NUR?GAPOKU;' MZ/**_N?3ZNSJ$JT_H/7YZF)Y=4()@JDBK^M38M@!/7N04#>F8(J2*>L)/>)D M/T@A]1_7M8&JQYYE6KK2 7(Q+9&JFBLET:+ZU]R%4WI?F@$ MM&?@RN2TY.D[IBAY\S*Z1E&?1M8Y,T\SLGQ]4S9E,*\0O*LG$IUWGA&?0 _0 M5*$K6176M2D7[$^6!TV#@)VX(XCR^PV"LA9-.PH;J1OA(O6^4,,^+&+QHA?+ M1R^G$Q6QM;X;9_4G'U-VM79*;@8E!P5ORA_7>>,%08$.@"BB*U6.OS;=@O_! M%DUNXV1>X(D^/%%\L1[D6A0-X$;I,LN+/=0%-_IRC;J-.8V7UW%2;Z'KNED] MQ7&YP?,J>EIF&KI 2<99B57Z7^C/";),MF^QPFFK1>&BDL"J+*-"[@'_=_VBE'V MVLR\6$HEOTP-OKUF*KID3,F\CF=4NR%3X+3G",=0U7C4 'U V\D#W5'4%VDV MH!Y6 VKQ]PL94&4%^K0#ZIS7#C4UR=END.*"WWVCG/1+TO;=GB0T-,:#<74"39T$^DB: )+P MHWX#B$3^6 W4+0:,HW?1N>V@V+C6:$"-"G3-=52W(W M["Q!6RJJQ(:PZC"N M,9$)42M<_1A%8W\%91HW,>4J3(8I@.YHP'",'_&./+#EH3*B&"S-&-#6ZS5* M6L^E H-V@.1V=9I4ZPHJSD7UFL?KVX8 X8)B]C4(DYXF5ATR6*M0\+07,&;" M$=PZE$Z)(XB*%:L6C%HDU>3P]:!(L>;ECZ-Y;V+ ?"SX2*=K:;2C[5MN[^,D M9NOS>?R(Q:[8CJFZL<&0R:_@MU7+0+RTL4I%;7 S$8N2[@#=%I3<\*(.;2 N MW!(AQ*W_^D7%C9A;A<;#0224O[?0Y@M'-@+4@/S8 F27.HS!8%P\RF^\& 61 MLPX8Y82#31^J&4D/]PJ*\O,(*;RL3*$38'E4+%UN0"+Z>F*_:R;VI)Z\S6L= MJAXC!I^XAWH!90/Q2?H>=)U5)M^J_YFW+!'P*KI>ZO)L.]_[FA^13* % 9EH MNYX__&91/^Y>9OI"NUZV=F#=]7.N)9R1A'2;))[K:.G*CZ"@\X*W5K\?Q%7B MY3"7M( BW20](%+ $>'KJ*GLC'E,K]P]51*U5GY%% !K%I* M=8.D?.0Z=(N&0YXJ*LRC)_20DL%Q#5DYL[S^4)%ZB%=P>(]G9#)!9I2J,3; M(^6P=A]L233OR\(5VI&SL,.I(WVNGN]*L M;IS6SCV&LDV[\L=V5Y;K$"^H1V5721OUZ/ ":9\>_3-D8F4@V;0___Q"3?// M/AWYYQE#N%64)G%RFYWCM#K6$&]Z<%'2E#]80N,%4*5>$,)$P57(5WJ%'MR%M WL)P,):)I8KL$2)OQ2$=KY_ E:WK.;.@]> M(3BD$:<+/+PC4+%4LTC49$(AEV\+CTY<^LH=B#28=<*(;W KEFH5Y,K3"7+A MM@"AT6[U M6.I/0@+Q@*LBC8"0K#J'B^8.HXWNWS05UD#94DH*JI0('>TSU* M4-7H,,=[Q:,)K$JRX#UCOXNE!B'&@LP@JI\O-8E100.ZVJ3280T;<:#%7[+= MNZ\-+<;QEBE>P&.N2NYX45=;@SU>Y)'7:_4PQO&7,6:@8[!*[DA16%N\/6 D MD5CY^H5#PS0>,X;&G#'9KSB^O:.-6-*X);K%9_O[:YRN;P;5BT6)+R?>\J-9 M\GJ9CE,[ 3(CMGKE=F8G:5&1HY)><#5K.2T*H_Z[&Y"(5__VC-=*1F/2P<+8 M+OK43EKL=0.!F<6J-9RC$L[#>PS0O_SIZ?"'=S_^Q]<*:VF0.P6PO0-B.VU M^[+LE4)A^E#@H@L65MA5ZJR_(C3+PN])T#SGGC%)2\M047J[A3HBTW&K8S(Y M]Q@VKVLK0#+%7K.UX4MEF<5F52XFZ'%,BRJ=[1O"4F/[,BE:ZP\#UX![]UPT M@R';.E K!7V=$+<-U\!!/E;()M4W;M"F5 N' M6,I2W?UUM/YT?K'Z>75V>?++"IV(X=E):57(\<3UA ML1QVF%G0-+:5M:C7>14]G>,T)EOZ(L51AH]Q\5^)1P"46!7C@9#H5\$#[C=Y MUOL :8BB.@B _ 47@CI2N@>I#JK2P.Q,8"@^!Q*W9 3@]$N9^$MNE3YY#18& MNDT8JCVCFAJ;Q!;&MND86['SH;:R/'KZRQ^VI89,X-;E6%)C\WR-^N@ M^14ICID[A=EZ<58QMDK,;4A,^&<]4#5$H+LA)(>';F&5Y/86GS M5JI6-)XVVV+$;U$;#.B<>C0/TVJ+V1KQ+0W4ME?NHW*AT,U/,%[%'+H\IL2O ME@S7NMN];V2\0[B86";+UAD9WNCXFBS54^ER!E>KJG9 ]1.AP>3DZ&W@Y%^# M6R,?JAZW@1IW+!T:Q2NOSE7)RWE#H6O.]7=5V\YPOKZQBP3Z+ ;A0,,RFHGU M6S6>E;4TN1E:+<#$UM@Y0W(3MLD-$&%D=Q(Q6IF?Q.B;[*PH:/0#X:Z M-9ZD0&#^>A'H%%RX87#4,*-6 EDWT5BA)PH/#3*/T0TUF1>2>/2$I$M$X@C) M.6,30=LD(8D!9?FIE)1>QF?0!K^X0ZU ;F$JOH5A?'$09,[1I-N)1?_TS$G! MT5C1+( "+9>BT^.$K*9(O\A9OP[82$,#7^#,>^-MLWOT*,KN/NS(ETR__5I* M.MQK+2"%VE@M;078+FJ1!J,MTT-&Y?[HY>7/Z,/I^M?+8/9>&'6V: NT#AJ5 MU:A8A)N;]4":/X_R.4EQM(O_B;WQ/J7_ M6VS"JM>-#-,N !HT61HO#:-,: !^\S@Y(+^&V<^2?/299)@:^8@IJ*ZB( EJ M:4&E&E3H086B]M)UF#,Q",O13MS@S%,WR_/0I)\40OJ Z;SR,::_8Q/SBV3I MOW>8+\0GV^4]6Y/_)W_>CVOU[ " G'IJ)Y=F[ VAAH(Z* V:QGK\D,=ML(# M<-:)['FUV^$#28_)_CJ_V>^6FPTKX-J_8,R$M/Q8:E(O>S-IA9^5:33(;4O) MN*C?\ML7J_>H(IC7D(SZEMCT0<]L5"R-NC(\;2L\1:\,3U)'[(^H61WO,;[!:8JWQL%E'7 ;4=>QMH;:,^(Q M:@M TEVO217HJ'G+Q/NV))L[CC'K7F+9!X/816_FT,D'VC-JHL8=18D(-Y41G:*E$:34U4+0I*B/R6 Y6: ?RN5(%B'5#,LEC]8Q_GS^B:O>$+ MY=4KA(O^GGG)3]V)Q.R3]Y?YA,2M!;[I0 %83E*AP!86_,:9%+]E)S9XN<>W MKQ,?TB'8#2'> ZY$K-4XJYU *Y18XX0.KI<2?+QH7,A&3T=<^%XF(Q$+=)>, M0KHU('[L N+HM0!"=HF,(R#FO$+FI%=BYR19/^"4MBNY/8H>8CIOE^RULF=V+<0Q*-:J96;E(68Q=$=E8$S%">(5$0HRC*<9WP5:1='U_$NSF.< MS5SZR@$UQ+T_>^9I+J QV0#1"K7$::D1 JKE^5].A=Y4]-\RX-8LJ.0)9J/A M-)B51I_CHG;6Q/RPF=5ZP07>X/B1[>W7#CMR%NF (V(!-EYYJZ"-5JC)QE@% M F1&6B_Z-+2AV:8"#@JKU()(;HU#5I4=S@(]V[P"+T%B$^%(5/JAD T6->!8 M&$,=UA:CA.0TU$E?/0 M!@1?" 8V")PDCSBAVFBXJO7^ EJIV^_0 AN=H!TC MV5I7DXV)M3D7K3]"LR!1GRI,1PX!N<6T>%2F,A%BQHOH^THFVP7=./%.[TVC-2+F>HS27(J;B;^.:A>!*:"-#'\24?"81S$20&L\]BQ1YX$GAIFN@G;]6H#G$R_90"\QW'^VSG-SC M=+E]C.C'UH?+,@:I]QXR -N:K$4C^6^!.AN#&[ ORG^A3?F&>7)V'#BX:$C: M]0H3T\!%;F%]1I6)30ZQ\?RY4),/OA0>O2)%%>UK!)R%4_>!7&!NG0XZZ1YO M3YME.Y.H7,*B"LP'+/"!E*15XX7G0X66$55?P*)\5NUQ"L[0%'VO#I_4B%'& M3SU630@U//(K]OSUA^2!M&+]NT;R' X24KI7)#M1"S8*7H-I2X.!M( MJ='U'VS?(SB M'4L0?" I>W*)-_M49,$NK,U);PM6WQ.\UJWT/@ENHU%YK-=O[16C$,B(OC&6T8 M,\!F#,?1$,?W4?H[+HJF9E\=I%4'W$<&];R51\J4Y!59;OZQCU-,6TX'U/SY MG.(O7R9;=N[KX7YXK:(]8S5663#Z6;MU"T&V95BI5=BYN9C%%!%BJ)8:D1 J]\5"JI MV33'5'3CCHQ>-MP, MZ6%-5M:><087@38+&QUP=X>2!]J8\$8+:8?++4Z#$:F9]?D4UC4UK$8; (2* M/# E<_<-'2H(7Q_,S/VY!]!"3%>S+8V92[I:P:A.5PL9QTA7*UKH9XA6^JPS MU2(Q/%/-B-%Y*U/]AC&@./D6U3QH&7;.6H4:7R M6*J%@"T;3^HEEGV!5?I_%50#7UX!AJITA!D7K',7RVUR:SG9_+Y^X!'KZ@FG MFY@V6;6NHJ(7+::(Z>&RT*KV0">>);H,<\U"[EYZ&9M6V9NHSC)V/TR@K6T9@%MYJHJ4YJ5 M]H*9\6RY1NW?;;)A/\#-^SS6KD3H(A/ M1_?LW$9$8^F!@AEJAF.M$P;);)PJZ!F4*P[$6!B$CRH(\W^LOCX(2P>K\4$\ MZX E;I(XF="S(1?6\N/:L7K9N$LK 4)12[5R([<2Q$/1N#[DN6T?\@QTE')" M$?'IW9Z!VXAH##Q0!$.-4M8Z80#,1BGI4'10WK)>']5MG6+^6C L':;&1_&L MP]1E3@=0EN]>W_"T(SN)@-.LN$Q(LA)HQ5-=SV3&XW>YADV[/&_:,%2EN';# M2,+B:'UVN3X].5Y>K8[1Y17]SZ?5V=4E6G^@?ZV/_OKS^O1X=7'Y+W]Z.OSA MW4__@59_^WQR]?=@ZJ_;084X]63_(@\3WM:]'D[ G,% KP05'L4O^R9W!5!H M3ZP)8%%Z(-C 9 K21?TW^HT_"07KW@P M+N2L;FML'M,AF[X(!?3*[AW:@ $:!@8AXA'8Q]3@ ?>&4B6.V.$)QU>/'KU# M]<#/O"M9W08=D_LH[M]XJZ2IUJ;$-'YY>Y5> 'S&P! MZGXC1I^YGR87T;;RX5.A &R91BK<$@0B/_@*8"!?+W$ PKPK(.3^GB1\4OT) MWU_CM *-BBDWD._G5TLSQ;;M'1LSJGY6:SO]_O6#$'V2YQH=.R MYBL_D 6?%_RMVP?@_&QTRNW%7,JB15H<*$ =8G1*LBP0Z[+'"W'NRIXM&O,W M-NJ.TBG35=2#G&39'F^/]VFV'"1XYBR="6\Z&'CC? 'J1*K"6U$RA30]S8 M^4!%='8* 48N?BOJ^N@$+?,\C:_W>;4F<$X_)YN]?C5#EC2 ''/0FC7@O, Y MG9#C[2I*$VI-F3"Z5!.5GTI&Y&5\:LT 0:)4@=RN)"R+ZCFJ7@1B.)K>(V;? MNF<08N(&_1.B 0MW=#L*>(/PYE?6_82\-%/5E/#M;Q:D+!XMUXO0V^ MS-N5;-/9OV*UNPZV!%V2W^T#2+U':+V?ER"V]ZTW##7P= MEU%; 7RDO6:;6[K4LF37=;6Y_F>YX(9^8YRH9)W9)%VAI;C)RP:;E2E;2E'= M[A40N,>[=DZO%@S;BLOH_D"WM,-GPO>\03G/Y!49OGXX+GA5!>*=5WY!F4"+ MB>45&5\:,J2Y(@3O"E?$8VW"Q?OEZ?+L:!5(.EG4#43U^?HA5XND%6R-TX5V M[K/HQ%6B**4_$&[6B%&;^8#5&&*%+F@$\/W%$048QFZ(2G:QBG>4%>+-BWBKQ'FBF3> ME$#W#V[L-S/ )8C=5(-NG2E2S'*O7T5;+][MC[[5QM8B1MML,XM-6,T+W/R_ M5C^L81Q:C "!3"?G0KYT;C,U\D.=*:WN'W;D&6-.:] M88H 0-KDX08R+RDFQSI44L8+Q/5M'SL45[; ,1A7R/097%] @&Z 1;,@W1C4 M1F&Z7)IAJ!Z:=4R2OM&H!S<.TS2.RD:^'5Y='%R?G6R/D/+LV-T>?+Q[.3#R='R[ HM MCX[6G\^N3LX^HO/UZHRF/JEL& FHV"I?\,>A.S6'7JCF-YT+NY3E/Z. M^4'+UBU_8L]E0EI^;#6IEY\Q:86?^]!HD'L%)>/BT_+BKZNKY?O3%;I<'7V^ M.+D*R9*-.I?8=$+/[E0LC3E9 6?:VRIZQX6?\O>T);_WP.LAH75W MA;4$[PL '-L,4E3!3;_Z1@!;>6*SG;_LORN6"$#G"JX L)34O0D@>%1#WF[A MHAH4TM5=%P>"BR[8]1<-,VJXT6^,'W$! (DQ+$!"W+NK9IAES8XZ.H O#_CK7D1['V69'LGV*92$IA"@#6]6+&LV" M37\%2+3JV1 WH]<*;KN"<.W?&&Y&7L$2O":^0B?2S(,$; I0(:YW&\:Q Q;T M-ORH)8#'O*6(U@WOJ!$24.P;C@U)H^'YK6CNJM[]ZFIG.%_?7$5/DN#8@J.I M_*WG\*T2;=HFSQFQD2)E%6DM_^)H_>G\8O7SZNR2CH+HY(S^O0HF++;I?N+0 M/\,*U#K.3DUJ:Z#-:VHDEX:[IN0*(^N2@UN8J#4PB52],CL3ZS"+[>O-Z?KR MH& 2"DS1HF?8CBE.^Z;>(W6?+0A+3\2&I2+\,R:86?26DTR(U)R;CX ML#RY0+\L3S^OT*?5\O+S17E#;BCQCU'W$IMNZ%F,BJ6Q%BOHS&LGL@#'B%9A M*5!CD%$[0.(:G28[FVE%-!*C"<]2%$.,#1Q4MB(86F9##U3XHE?B"!T6N#"" MXGA/*XD4T@HJ))"D@0H$E.8O #9(FG"9 MLK;F]4V[:1>87T1Q1+*\=7S]/'KF"5[I2B6,M&JQTE>:WR(-S&_Q7*7Q;H1B MF<93]J*U\D)N.G564"D#<2'=>BR5H(#&62C8$F#L]%=L_*2V%FV #6O"ZPX? MHWC'MEM](.EEM,-%*=IF[]7'E&39YR3%T2[^)]ZR)%3/N#TD5%<@NDCPNU'* MO*&*0=YBYKI[0U)WV:4K2KZW# >(,Z*&EY^>>+,%U!Y0(T ]'W_ M2BI[2:W+J28'O:>3LIN!ZC<- ;1FM*&8GZ>5Q.-_C*QB5 0ZMLXZDZZN6CK' M*6^B9 ZM(RL_K9S,RR_HM/N-> KI@0 0Z*U'H/C#QKIW*[YD=GG<_CO*H M\LAVD-F2#=\"*BHN;J=24=/!2,*"DZ&:KKFW#3'*8 9A@U\SA)E5O_7K*NAY M6U43S!3--FA_)&3[)=[MELGVA*(NN8WI%'6993AO;3B6A+%.O.7'M.3U,E*G M=OH% ;8JY<9J)VGQ<;T^_O7D]#08\W0#"?'JNY[!6LEH3-M+&/0:4S1V^_B\W>7WZ'F!:)D:'F+D\TS6E_OXEN>2,K0;P7'S*Y6 M^6N&L#+LHAZRE%P-M+3"Y]NCL]GL[_=\M?,,Y\V>@)/D$6[4HV&&^S#_3[?8KRLCO/4_Q0[E6@_N8HVNVR]4U_4U#3^U!37;C& MR($/I6-1"4(,>J@1=8!:PG@9$RZ.;9I5FM"\E@/R68;F! ROGI6!2&],#ZRQ MHTT+H Q-J\-M3L#,HCP13@G"S"O!S16DL/2?+147F9B$:WGVW(A%!"3P_WF%&<9QOKDD3%]UP14]!#&H&\/0'+ 1)?62A3< WL)PD@,NKIO M+N;HZ!J.G&]@0O,!"BH*,5/D@2<6CQ1$+/HNR,*,2L9 FC0^@<3:[%7]ZM.U MR?8"YW%:[%C2K8HY<+8*D!ES>A>-LFRC?_4HX\3?!/G_.HY52%!6U:Q36M8(8W:J)4 @9NE6F/;5@NR,>Z@+-H, M/#*3MH&>Q*:5(J1&'0IP(J7 MU=GG%1L.CE9T1.!GF"\/.A=M'GV^O%I_6EW0QVP<^;A:?[Q8GO]\9M0SH;7 M=TBT;Z?WB&BE4CD@6DA:L(#MY.SCZBRHBV[=D$*\.G XYIG+Z QZ'C@-S(X5 M4S('9AM+!HQN'5H*507>3K6G3;>F9QVC?@&6K(Y?W:%F9D]GU%J MHTU'[O(S6W-[V;YC6_U,WUZIW/)M92W^]GEY<;6Z./T[^G!RMJ0#U?(4G9Q] M6%]\*NK/OOE\MOQ\?'*U.OXVF*C4%5'$LYM[EF\II3%]7TP'8OFRJ-2.R<3. MH89VNY8!+ L8*W2TZ%:L:63(5X4E!VR^B@';"5=&QBH8GAWQ.&&R='.'M_L= M7M^(JV%?8.H]XDV.MYGG)*:!QIY4S99IG-%9UO$^I?][3I^3[7M, MO3K;)0Y8%K7)SA'&WNJ$J\"Z&U$; MXU%K]I=V^>A;JCI#;VA@F^'LVP-4J&"G& *H%P;[T8:F/RI:1?7(8'7UZI?! M_Y#@7,$AX!@^5ONF=02'WRRDUOR'!?N![*5;\.$DLW*H1+N%-M]).1L^:\I6 M[MUVM5I)Y+7OI6 M@&R25:I1K67ZZ*0S/ U&[A+=8ZHHNV(<%:-$ MQ!"_6FD4/Q5>(,&W;)9XY187>[;2/BSV4KCHQC MJ,_\1(!8PJ(D0S5=6#O\U?TOW>YO IMZO<2$5WX08#:T0;ER8..7ZO7A M%JZ#'Q.*4I<_!AAG'00^9WA]L\KR^)Y."/I7QXI?EI^D_]*ON*M0$T0MU[Y@ M1>G6+NF"_LVR%?63F4NQBON"J+]@O]1JAZA56Q6R+\<(N0V=:7=Z.^W,UG'M MUU,ER.SVCQFM+RI?_)S6>Y&WZT*@@A^!5%,'SHMM]UQXN-&,G7N7U](V%>^H\6Y62316Y@DZGEN4P2YN@\"E*?\S #UA^:E4A%[6IV\!@*-7*I$;FH)MT;P+ MIN*Z06<2\\_>LQ$Y0V,8,X $RB]K-+A@A'E@(4K"];XP")+Z63\,S7P]WB-U M\B35+.CHR.H[P&1DGH7^U=H!/*E"A:K"OX1I4;V9W7=J.XZ8?N1!Z7XQ>;ML M_Z1@@+OQ02'?'@O%30_ENW ]I#].%)<\N")E5L]XGI('G.;/K*Q>SJKMT9#X M@67(U)[2EJW\6.9LOI<86;4.P+-:J%3>160F9%&_X1-$7I7[CNRVZ.3^(26/ MO([O_!<(V2&$N/;>\!(@(_;./3\AH1+P]BQS??Z@+._ XK0'O!IJ 6A@"X[E0UI, MY8V I(N.X<.:XH3WV=9KQMD5N<"LS^,=/L-YL\Q\15CCJ5]^C+=X^_[Y<\:N MYVSNM"HJ"M#?*ZDX-J:*ZE[<453XW9T[XJ\VVQ>3RUWE2(U3W+\[AL)%2RJS MR;22V][U0I^SOS;,?SZ4PM'U,R*58!35DO\R\W6^8QH*F0*8_6N!1U#5NCIX M"J.?SA._WV=Q@K/LB-Q?QPG?T"->%M,3EMV@(O3R;?H6 (1S2B5R3Z-@6U3O M4/OEO#9OT)G$_+/W[$_.T%C1:" 9PSRA<@>CM6W:$9#E)'IC8"T9L4I!Y>W$ M;YCT;]EK/HTX;PV#;Y@2.E9^BVH]J%$43(W1ESLT2E,C+V]P]-XW*O R;# C$PX

;[8,84*7#]1I59EX,^$K+]$N]VRX0B/:=(B.DT?)EE.,^J M5\*0RYJO_&06?%Z&9=T^@/C,1J?<[LRE+*J_YS4N>R@0YU[J&9XQ?V.'P0$0 MRM';*03 'QL&JB=\X:Z< Q)GYAEX/.H[S9-:O9*F! M6FT/4)+Z+;X:M )B&X!:C6*55<6X*-_.O$IJTI'$YH/WUT(5+*WUSWE K8J MK]/AAA&^^EZ\#]:WP@%(OISN#2'O.9Q2N%6EUBW9[-D$E<\.[,&DKKJJ8?V: MP"2K; H IF&MT2#F=T:G[]W$[&/U:(K6[ON',]J6ZGF%LB;7%*DEMT M&C_RS1#L1;!AM 8[)N&T$?P,@FJQ'*/@.@P$3S!95"@&!+#)Y%'P*-3!:0[X MN\PJP0U@UN3E!7[$R1ZS9/YM$NN+&1O3EQ_4@-[+_(W; S!@F>B2V[>>>U&2 MH!;-O#9IWMO$ND-Z%J?E:RQL=DQ!#2%FBCP@5=3W&8 JW$%@#,!)G3PDY&9U MXA^*BWJ.]FF*$]JH-$HRM@&-).S>6?[GKKU<)G/NWG+*#^PAQ\MPO=L/,$CX MM$%NZ>Y2%R4KJGA1BQI19M06-J_U^^./@$&AYRN $8R" M#8MBLRC9^72J+2#8 3,$DY$.L',:SL=M]&?\?9V]DLA#+J3 MF'_XGA7)&1I3F0$F4(.!1H,+2IA;;[T-UVO#X$;J?_V0,ZLG76X?<9KS"UV/ M2*:KCFQ(79^+UE![GO R:@N =]5K4AV\4O,N6@2(4\Q]U,FLAXEE-PR.'RFY MVB>)9L00W($_O1IG"!7'\'H@"M<50P-,<<(-!F+SWIR6T]@K2K?G*=GN-_FO M49I&2?XLW%)F1%M5\5'3^M7F,6D'1,4=C1Y%'1TEYZ+Z.P1_;-:IQ.K;]^O2 MJ'A:U6;F@@S8]69:)8Z(X=>9E02HI$ 52;B>&!):\FO, , U/T M\DZ[SFE(77X@+;67$1FVQ<^,]$KDAJ3C750$Z)RMN]P%O>ABVO/$LGMZMJ3A M:NQI5FS9.6G-2&ZBRQEDS&.WZ@#50'M=8)*Z9B@XS;MC-(K37Z+='J]O/L1) ME&SB:'>29'G*#T^* V$KGFHGJ!F/W_XVFW9![/ TU*?8N&8D8<'($*=C!7UK M2M0BG7GSF14BB%.'];>4F?"VMH^%@C^PO93&RCSAQ_=(Z@$8;G0Q)CCE.QY' M@.>\F6HV$BHLMHN$OP2 ME^YM]DQF.BE6)#@=Y"TXT]MKQH7:; >H8"P/FY:L_-J*<#=(^\"/ ."AGSBU ME]1*I[X$0P"=R+CJ![4(OA# ;>+]P":^3G#+UP4FAO>L8^,9_K+<;,@^895- MSU.2T']N<&OD5B>^7-G+3V[/[N4)7%L+X 0<5,OMWUK8X@(SW*&&J[W3>>89 MF#.&B&^_]@S?5DQC]8'C&&KBYJ07#L9%TNY+&\5=KG GI\7U%5RZT=@F[%[1J.GK"7<^/4;QCEV!](.EEU+XU2[KSV9RCVOULPN&W M>]6\39[[5XT4*7:P&O O:J*W-R1]FT7=^^A^XW>6A3/6V."!.'18?S.KGK.U MH34$Y('.[DWU>4&0S]YU%R.^3M3)-U$#XV[>%'5]7R*-L/;W;$L,WJ[S.YRR M-$**[W"2Q8^X=4>)V?6J7M(&UZHZ2@.Z3M7KMT#D\;Q;8G)]JIOLCG=HB4!< M!NH(08P_E&M2_0 JN!X5 O%U)M!/JN@Z5!@3FND:U.5VR^N&1;OS*-Z>)$?1 M0YQ'.Y[SO.[G/"_P/_9Q%N?4UZ:/\0:?XS0FVU;U,;YHV(]E)U(GNAYU%'5P M-\6-^#5 #B*.WE3#*^3&4-Y93MP$LW0RF;6(+X(;WS[K6&]DM9+KX:;P"!Z7 ML7R*GN+[_7VAZ"3Y]2[>W)4)NHPE_.-'-HJ\QVQ0.1ZX6D?NLF>LN;T:K<=X8:+E2P(L["4TMB^ M+Z9GV/I:U.#^A*-LG]*(DCHA.J]-X^3V?93%THRA*WM_0ZPQ.\S>1,O6 FU2 M--=JL%O15%AKV^)!6?4>55R()*CF0YPQN!RD,\*&>QC=,%HY ULQ@GV-8:+< M+HGYB--K8K0AW$8]'.![.W5+^N+RYAN2BA.>? ]?50-U];2YHVW![,$7=MKY MB"3\\_'+_?U]E#ZO;\Y3=HYY]8\]53=HT^J)_1.K/8Z_I,K5^$CR\S'^OP'" MN7BU0N%5/.0N2F;F32C[VSQZ0H4 --R8FF M E:!R+,)HU@*W_;@8"O!38=#,1_YF8>9#V@\ZG M;5M@,HFVD]G9E]0KN,(YBXM%"M[BY%TP6Y/80/N >#AKMI(FFBJ_ &L MBVH]U(,;0W\3KZC,U= F@AM_9[8/>0@[DX4$DNMFAU@25D>ON&8L-QQ@S=@& M(ZJ.#H:0_**_SR@,W=$"D"^[;"V-"PB^YT( MG4Y[>>&'-O=FC+8?O3_4Z7:DEU'A&R;IVX!M((S=Z@9#X+S[U?VS.8:F#%NG MQ4:I_U#0MY&:FML&2>8OS#"^[S= ,K3WGS5<.T_) T[S9U;]A5UDQ_(ZO 2' M+% S9R@_H F#EVF:M\AO?#/2([=" _9%17/ RW_E?-I5TP4W"EE @=AW5L_^ M](R-Y3E ;HX)TE&4W7W8D2_E;8&M$H67.1W>^+]:)0SIW.^&I/?T#TQ_4_.8 M9'PS_REK,OVOX31K2N6#R=HTRH$&_"F_%&C0,%'#30*/29K2V13%-"*FDE_& M&4X.=U*[$X0_,]C],(2:HA&B0&P6OS/O/M/SZ)G?4<^@M7[#_U$0Z^%]7_ET(E5X#:9+<]U4-59TK9/K5:RD1"0!.TANI\DD*#-?HZ'<220Z>8?O$[LMNBD_N'E#SB *KGCI,6 MDF(;-C$4R-HYG6O$.3Z-'_'V),DI=F)J)L51-\,@W5K"(!*WD T,ENW&6KL MM5%L,KJ:R^O8=L'VEO.AAK$Z;AWN\&@/-L$0Z(K8X2!G+$DTD 4,^Y$6%^WT M@^)_N.38 _W7B7"#0&X:C 4"!^VL(PW?2'9&OWRQ/\=TG+%E*S^H.9N7 M'=NV#F"$L5 I-V)C(8MBXV9#VK;>>4W5&AG$M==Z1FK*WIBH,QH]ZE(6OHOX]BY?WWS.RE"TAVH[IO*[F#)Y69I=RV#.]!KKE!N:H8C%\IX5 M'&2CY+;D0.RD+H5_AO^QQ]0(,A3E>1I?[W,^8E)L48+BG_C^@:3LC.\VOJ', M!?46ISS'P8P%<85OR".+]ZJ/F2E 8=1"FZ_O9?BL*!$E[6"3$S.O M3,F#R):-ZS:EP!S'<4X%2JM2'YKPVT*E-S(/OUD(!F[TABVP1?PFQ!U;F\R^ M?=68E)7<& F38132.$_)=K_)?XW2-$KRYZK!IB4K[=@'F5E3=J GP@>HOYK@[A!%GALD#MFA/4IIV(P75>!"M]#U1IU MY6DG0\9AZDG+"!5I&K80-M;4*S6*-G5B%NMN:(EVH61['2 B"C3MX"4(-34" MA.%F*-"T&V.L\J,FFB$0RH:6,E=ZC6](2B=%NUUY1H@--8_UD0;V_$O$4Z'] MK"J?1PW2J5O,'&8LSZCR3"J1&T@X&=41+<0D13""C02R2::H??&>(Z_X-VWZ M,?T/#6M8K:CR7@K#69J7-$%U)B=I8"4[/'X+_24N,6P80>1OH4=X?JV5M+LE&KD%74(N>7%&WQ/6%GG(LG<2-A MYG# B/$OA?[5W5J&5N7;8Z-18NHPFIEP&BYRD0C2"!\V%NV*M/=S02.B\-1@M6",\'2X:@#M/Z&65@TU^?A./DEK^;L)J51]FCP_0QY1D(>SD%7<3T7]8T1ZJ#F%OM]2X MW0VZCB<1;]/OQ?8FB>,[0 G.7V+?JW?0&??^K%G%NB6_IG&.C\F7I H]^*%S/OTE+V&#'YPCV$BD@;C$[4^]"K MUE(==B!@+DH&@YE3O^XXD/HJ>R3,NV(KK)2U9'NA;GG]IO?/XGIY9:D\^H/B M(ES.3I)SG,9DVU_%'4]#M;([A@:_U=[Q?K,2]#\5IIW@6Y:)D#OW<=JG6!<> M0=^B?(?6^SS+HV0;)[<'B%/B[0'*0K@L;T3HDPFPUE]1AM?46F4.SHB%OAIH M'4PJVW)H/7Q]$98T'^LPLKKE7&4S@9L;S I%-EL?+JB7O<#L*\2[F&/OP]3O!-G/?G"]Z"JEF%AR _T_#^!4 1JD\[%*;F+G9!7<^&M?F6 M;^C/[W!K9R2ZQOD7C!.48@96O$5QL:N)[;7$Y8W2;ZX+4=_RFIKLZ49+25\] M\.LPKY]1]/"P>V;+VEQWN3D'W> M3J,=HB-EON>Y@I9 ZC>+Q8R'%+._RU=O M=OR^,;Z;D_[T/$[V3&ZYL9,-O?V=H?O61^&2RQ;.'>;[&QR!@W[?K3D+;#F_ ME^<(H%;I/5LPAA/@$]Z*N[5Q$3$!J"L!M45PHE+('Q;3QDA0-N-_?Q]\K M6 M_6RDIDTZ-^3'ZB3EWU%+,ALN%9= U-<_M%2PHWF%DC^FEGXX?>&32^!5!@-G MQ!M! [!ELFW[I?;>NS(<&VR#'DN\Q3S$3OSH08G+KYUNSF+9.K\@QDK9USV_ MP>6GXDWO3':ZQ^;J[_4")CY.=F\5W'EX%IN ST:-71CX@GT7Z'Z%41HWG?,J M%R+M+!B]B:@?0 ^%VYNY@-#+LV>O*5P8%@T;Z=%&I>Q,Q$DB/2/Q@:2:ZJ-^ M0NI-<6Y"/'=4^;0<)@)S;H-J8Y:3R-;1N;B4P":8BJ/S?']^6A7;"Z9(J2<@ M"0P\!MO&7(2UMY;-8" >:2G(8RB>S1@EK7KXS:*3+6TM,+RX47J"Y*ET'77> MY*GO 4 WJX3*CWIHAQX]BJV_S:BA.-#*1XW@2K3..V@H=AO/,6QX+RHXJH4< M-#R: &X,QE'&+5FV>(!26B D56U4.BX5MX@50YOA@6- MG"4-BADY2 (J9.3\&T"+&+FTPJ2 D;W<3O&B\Y0\QAE;;WSSOLIB4V '6<;( M'8R"$D:^R*[7 ]TEBDH7^9N)1\ZGN4^^*K57%'H]28KY__$>7Y$S&C'GU 46 M)\?7-Q- MU42Y&QM'HRA;]6:+BW]]RZ(LMB0G*"R)MGN^?):0Y.V^4"V3@%O[P"OZP?05^P3MQ,DZK@ X*C=>XJ9W"8=LIU)++*P^84RBCB^/" M*9RQO=%=IW#1=@HM)7S;]-$?3@$*L:_!*?BN,GC,'.$OHG9KPBA9CL&-);4 M]E?KK,.JVL17IS_"O:IGW@2(P>TF\Z1 BDE;[+6:)AV=1I,@; =B/1T96O#S3NO(1IV-K'KDIXQJ9D: MK--KB M,Y+CC/IZ'#\R%W^!'XHS=\("4A8\WXO"R'8LVP9B/F4*Y!9GP+^@#EGAE MDSEF/&GUGNVK9.H$2 MD09:G/UW?V/O55,&(4-'KR\JD*;:@!RV;_++ +-022Y355Z>C04(G QQ.M00 MHIHRB%/]8SDR:80 [_PPI__8%S,,:^4OS)'!XX_D K MOHD4GB0443C+6;;B,F=E-IL3\0:!JPF[(HI5LX-;GDEK1S)"C6H[>U0*DYEF M7#+Q\@&\L -31YJOO LU0A;2K.U0*?*@E5BU.8<$+ZA$R!.^N%@SF*@UOPN M2NC_)?MHAW"=,N\"_B5-]L9%OE7T- [V9UV*.T_)!N-M]H%^_\N()>_I$^H( M\^=S"LY\F6Q7_]C'? 6^9WD.G.4GMN+T\@L.;008\NRTRMV C9Q%15R4O,FB M8LT,5P3SVK4+5HA')_9LV4)"8\;3H=3:80"E?9ST HY:A]*9>\56+.\6C.C\ MJPW/K*98(PU2[=KF9^-&^N2V[6A MB 6C0V].>=TUDJ#C.'L@65RMV%56';56"1$ILKM2-E2[+6*EB.2@@>L"W(@>"TZD"*.ET:.P0:N9+*(MS;L>X M.L!^SG*W<5TSK-Q)21O,K\]4UNUR$]*KVV4K!*2ZA%O+02XMS-AE7#P2'N@-*,O/I:3T,CF#-@#D MW]1:Y&:EXBLNC@_@JG"3;B06W[MG(@J.QB[& XC;0 != ,Y!.W0^8OB \N0Z%4Y! //) MU6N^C[5%<%"XX-<1&TB]J&]T$,BITW8I>.ZGJ==N-=7PP*F3E,%94TLI0,=, MG=H.6MO/M@4F)TSM9'9J^G7LNAS\*7?;Q$,Y1.J&.\'YT?^?O??MC1Q'\@:_ M"C' ':H!U][3[F22EJSR?_DA* M2E&4*/X+BDS;;[K+*3(B)/XB& P&@RX ;BV");6Q4Z,'H GPY1_,V8,K@ECV M84P5DKXJ1'S$.HQV:-1YF%<_@LZT_?*_?V!:\1>OE\_DUWM\FI8K6ON%9ADT M^06"BMIV;SZ]>7;BXPF<<87+=YN2ND:R[SCJ-3P71'P$E 1T)P\Z]@JFOX)\GT MEDR?=Q5YB+ZD6?JX>VPN)FDNV*79G/_:I=2+_):M<4%+_GU9 M+.\+S"[KC6IJT$*:9%(P0.GX=#!%0#811(%PJ'G!D",$P.D,(D"3U;ZK.Z"N M1W0+H'F *YV+_$(7MDK)-2ZK(J47$[-[P>DRBONI(OR^96E5?L&/=X--=*N^ MS;0>@$^JXB4-"(1DF/DC%<_>3C5I/MQX$R>]G^(* MX!Q*R,L5=;3#@O\5T9_1G_1!8-6:'+% M_\J&7^I F , ,AE"RY)=XR<"IX>DQ/O];E&NT_PQ23,!<,;]]CM.VOT<=YL, MY0.PCB8\I[:8=*F,*5+]*+ JF8,CMQZWP?:09G]^:R@R2$*9;#.& (B4&/9:N3O+B*2_8RFXT[4#=L/D&4PV=]$DM 8!-GV0B M5YF);@OR#-4/$?<4_5D_#ZPF&L.:ZP^ H ;R#AWN \ %RMXJ.-B@A5K4-X 7 MJ>%T0XQS&&V"-'"@3,')"CO';P,[LGB4(W9<;[4Q/0_A)T=5DR_<&9R1?-4C MM#^6T_1#;4=63?>HK:,;4[[J'&=P-'-7?9["B>CTA2#L-7ZL:/=_=F#"6E]'\H;9VUI$,:(#0_E%6TK1 1_1)N\.*3C>%/(TC,% M:FQJ&8(1,IJ&0 ?=\YF!:[QEE;WINO:V2+(R6=%YN/STPC\9V6,Q[[B/0NIW M=(SYF$H($HRG*,+Y%MC([4=M$._1)< '?*PQ.6M98N(T MI,_X-J^/Q@BHES[OB@F+SUV+\XWS T\R<#D MRF\YK%O7;]" G6VX/^3;-4H?GXK\ M.8;#TS9F;ZI@I[;ABVA=W9Y_GUP]BXU&U\A=(T"K+G(&7^]R#'1-]+[+XB0I M'Q KWT%7JC9;6,RB;2P5VQ1C+C'# M$FR,F]I]M06)007"4'=BA9WG_$0HKT_R1UI8A 5QV9'.2Y9"6"[I?9,I\:H] M'Z9RDD3G9)4#@UXY-4;GXQTEA'A*1XC10@VQ(]22B_@0ENTW&8(>$E+2XUFV MI,?.:KF(& S( M0%8N,98>M(J)"7?MBB;Z1 ?538[$,CYM]R-$"- IMR&!* U$B<0TJUI@45;V MQ!;5XS.S/CEI090P^M$R\K.Z[U$W=1!'5^KMPYA0:>KK:2ZL=;V]@YMR;HD M$'-.CX[#I-/0F7W6Z==VJJKA,/HQ*3CML@TFGJ&0.WR]S#Z+E- M/N-Z$K>M^4Q4%L*]Y,S/SN+2=] />VY@[LWE*BSNXM(7)X1J:'13?W M=HAJ)_>6D'-T;\?T(RX#\Y6L]!N);[_C[3/^DF?5PW0 V(J2@9F14O)N:13O MX-_8R 5PLSZO9CA/G6WWF.P8-'O+"2"HAR!J,)!L# M'227<01.'M:J5C!H+JI'),>_I:,TJ@B*(@-BPW%8>QIM']93LQ# 2(=7--Q: M]DT]X+,7<5EN-NDVI5*<943RE]$#^].-FA>6-7)"\#1G )LE92"'LJ3+HOL= MU0\B.2NK&+U<[UL+L!YOW$%[1C1 V;0)ZJ9@H+;M=<)!:N?L !'X2GF:;5F] M7&UI?ZG';>JJ.W7_ M1=OH"+%F[%*3?<,C1!M&L70R@4-N,5Z#*_*4/?D+\R( 'MREBGJLG'!77[CX MMI$W<3TC+/;B-/Q4NM&5ND$/E>'G>_C1OZ%,/@U_CYN% G+]]=0OBE6B"2#4 M"BA%D5+]NIX:ZC-3SGCAJ.ACTT M6K8?:JJEDZ9IR !@W*>YR%5KJM]B_Q#Q3R-9!>N,;6XP"(+&3/3H-"4(:J#L MLHJ%%6BH'7X3L)&:6E?@!#6MG],LK?!%^HS7YUE%1C^]V^)E6>*J_/3R)?EG M7IQLD[(<":Q8]&P^G%%/)Z6RD!' -)MQE6N="9U%W?@C:XVZYJANC^Y>$.N! M6)81:3L@6#MGHV>P>W*G0U%[QAK](XQ8]Y5E9U4?'S[)FL[_(BQ>-A*KW& MS7=1-7924CU) .8;)2.Y#BJZ+GK/$=<@D@B$YFCG9F,B:,UTITY) J()RL)K M<+$%$[7?;PM.4C,, RCG>HD*\L 7WG'"1/D3B/T=S(@5\WVK!_AE%[&7XN7/IEQ(SN]OG7$(W]""! MY>OW"&J,$F4LZC;OS($U[U05RJ$1Y0ZJ_A>O/M6G!% ML5H=^_3YQ#<; Y@XW7@9-%!SH.7A]EL>Y*A-&X:)<9O=.#3';$?-P^BSYH6$ M9TYH&^4#8"1$NG+(]5LNVO/@<3BUX\.03WX] 7:]-AWPO TBE-$8$M4<0VHX M#G<4I>9#9QSG-R')#[D)&7O6FI#^,S?TC?&!,"$"W0GX]5HNFC]C =_H,.23 M7T^$'M^&@YZO000S(0.BFF/(3,C!CJ+B3W9:?&H>L (MUU8S<+MOGY6RM?/HK&!%V+.0H<&3!"C+EZH#!!H]-0H73@G-KT7 MSM0.%NA14!7.C&8^\(4\\[*9EM@+&D+XNJ/)B)>;:_R4%]2/^I:E@\W3Z4;- MYY$U-4T1E77&GVX)^W+G]"6=,&!]05MT*EGN7XF:X*T)//@V8\GG)6B M9L@;M+?RC31PNX--RA' R1XE/G'YVK#Y@OL-X?K'P/>MR8.4359J[(IL;JUV=KAK-?F=V$:K-=A" M'U<$&@1:OR?;';[UC^1^CM>6N\Y>X(&&S=FQ+B=_)GQKT. MBZ_X1]5,,+??\?89?V'GA&9W<*;D<'-QY)2ID_-S_$Z.Y 7LW!SE>%LX.A*: M9J[.A&"0DU^^WJVJ/Y*B2++JY0H7:2[NSDZVZ9(5Q]JXIH#)^<(D)([2G\SS M&NFQ:/]&3^R'F#(()P8NU_K.PTRM8=M>;M8\, #,_9,0-T1!D]]''Z#VR1&J MGQTN"J8R]HQQX+Q,&Z<*?"! SL04$<>O$A&RS'XK1 QS^'TO9. ,AQ5GR$5, M;7+J9]QS MT[$1=$G5K=.)IRI'>M%K>47EC$#K]S+OU$ @+WSSNH08V.$K+ M:WLM?@[&BWBERWI.S/"*3)%)\4(_6H')TA?+=IA(@Z>>*QOAEI,'@R?S3@$- M7L@* ;\G!5E^;+',\$F?-Y]CY+F3JDGY 3B;8[3E6C1LO6A_:E1CE8?V'^6C MDRL_J(#G0;L.P.HQG@^O-P]$BVYQ\2@#K+Q!\\)C#9P@*^<(@-E1XG+0CC1? ML-\^$CZ/T>!V8I!R]6<5D#MLV$$7?+#W=* 6*GV"&GX:77JP/X[02?"!U/'7 MI&N&*8\MHNJ*(T9&WF"T#B( [N0RS3.&V"NDG/0 M\)V$/HN;U0->[[9L6VZ5/S[E&0MUT$VZ7<'FL/',VDB<+LD #UVP:22([EB_ M]8AS!@J9X?3II^*LA@T<[2#6AHW!!-KY-IJYHBKO)J@)/,4;7!1X?8V?<;;# M^_^M\ON,5G?X6<"8=OO]]17*]HYU8S7E 3"5.KRF2L:J>C=!Y!(5>+5-RC+= MI'B-*$+1NNF,OK@&^I,]1O0Y8@T"7_3G.O>J@R&&LR]LGOU)GE5%LJK^2*N'DUU9Y8^XN&CR MDUZ6V5H%50%_4.3:*_J:@2#=@X-+_'B,4>RW/UDAZU^8#W),"5K":&&!/?_EM:[BLD@%*V2N5\OZ2H 9 XWB# >=>TXBJRI M"!5%>@UF/(H"FO#=1A(O-XWC<\WY/9_)*'UJO9Y6[HO.Y[G-&^DFX[H^6;2Y M$5Y8N&V1>'QK&$?4D/8S77D22VKGPTSKI7 MU6!%;?M]3;, &BM#&\"SFL'V*;O[O&1I@3#J?^[]KLB].#UWSU7 MPH=01FN5B6P+7[+-K/S'_2WQ-H9W/=#\/?&]0X\N^IK?!A-B"^ ?L#&0K:D. MT!B KKTF5X+M,K"MZ-#(8[)1H2"ALSDA)>$O5*.0>H9-"+D$EA$9&<'V-!/- MV[G;IO?U#:8$P>Q.&-('W>?Y&N4%*G'QG*[8-L*JC8K2!)_O#^GJ@7HQ9;K& MS0VH#TE)/!R<4<<'I\^8$4C+YD^*YR.45%61WNTJ9N,(4>G&1/5"4I'B&3E?QN0,G@#;20L^8-;&2/-?9P]QC> MUW6\?N/FUFK3R8^Y#7FFNY^RNQ?U*QDS=CW:]&FVB?:CA]M&VP-FA$_( W[T M;9R7;L+X6._%19[=UP=HHJW[I3_^DN1R-61:353VDR6>ZZ LN(:=F*C7B8EN MG?A4K!-SK9+/H$H>QMK4=AT>Q-@W.6JNUHSJ6(9TI%5:-(X,A0J=:.J/5R1U MRNGG#(^,D8.%'CWAPP&K:QDEMIR,M.:!(#V:#S31SDF?E/P!7)TI'G(%DO=:W"3;=I>7/4!/Y,E+6#51#V2N_V(NK&XM5G/Y[2@NCA,EM_ MRXK]>KQ=H) ^RR98;5JP3&Z=O<@EQZ('=HL]35031:0%HF11GRYJ";/<:9YT MMQ"G73OJ814!^EL-]<[S#Q>6F#3J(DY;T>?/] M1IX[62$I/SSPT_2";9RZR9 ?\Y/C MZG G1ZEK:#3:]GLR93M#EGCU'_?Y\_^UQFD].9)_B',B^>D?IXT^+[-LEVRO M\5->B-/@5).V&,EH$[=M_ FNCOOVXY0G-NK'.BS:7U'],ZI_#[P7/S54N9#B"MAX0WF%X32]NHASW ]40@PDSUNWW3PV*U"CX2; M8V&>(=6)>CQBXP7[!;&?FGDV<.D=V9#DJL\HEMH1FG$U=E3#Z@V.9QD1\H5= M%9"PB-1I4B7C^\DZ39LWGF[J%I+6D,(QN#S-82),/-5Q43]%W&-$G\>Q@ZPU MMKG)&(BQU(DN7%S4!#>>=6*Y7A,@EE=Y627;_R]].LG7(B+5#7OZ,-X00!NF M)(#0!0E]E2:,=FOUH'EXA.K'B#Q'M$$,>C YHKG^MQ_5@;$.H@9H(<4;_D^H M! 5.1A _]J@]A]1[Y):).\+%,;^V3W$B:Y9ON#AA2"5_1@#-T4^?3WTR,1N5 M:\)EF4X-VSPFEHIP6=SFW[,I^SIL-69<^59PEG7(&]"L]HAKVE2NS\"@,M#F M!:)/([*F(^,W;DJE SUJ1[O6$B,Z@8AYX'U3)16^+*Z*_#G-!FC3:3H&]$%3 M.+1+I "$_)"#)N[%C@/PLP84_6V3B#1 -KKC:C"-A5%=$+I(% (6.=+4(ZA, MS&D&%@ED=$.J/6S!B@HTCU'S_/ 3R:2;5"ZI9("%-&X>D@)_2DI*F]WRN/R> M%.N;*E_]=?E$@W(EO4";[4DNRW+W6/\V2Q$=,-%T*F@ ,>MJ9UQN$.N-ZNYH MWQUQ_6.I@P'Q]D.E\(4R:>T+"#9C52^@Q ]W9>+^57Y-TNPB+\O+[#Q[QF7% M+G9ED@J&PJ3+H'3@5!<@PZ66"M083;+3,3 3!'H%=V@[](&V_ D18\$U;NKH M1%,\1P,7(Z9 &TU#]99W'5/:&3!8IXQ^PIN\Z-)'3\G_RBI=+;/U9_)[>I_Y MN7,!0@P=X-I2[Z&Z2:R^8U2X-.LCU%)B.=4-K8@K1EE]C2E]<,205%FLZ([I MD;6 W@T]O"8I>+G9>5$GWJZEUX OE*UW<+LL0TU$.\[7A'^Z25?,)1Q-+M!J MVPLV2=L"1)L471%LG,>(9]I_3[7B6F>QQ#^3\8P!L#[E!0+I'585D MKG$+8/I31)9[9$ARU6<Y9+L0)[1\9O$B3:W1 MZB'DG$WV $D]TY ))@-MFI$Z$6VJ?Y>/QK7B]L^:MA$D/IA 89"BIH^?OOY, M]APFK)F ;KX(['*U:BLG-Y5CO^)*6HY+LW7SN92MG51-4Q8W-5,SD:N8JN^B M;8"N^;*]FXH8Y.5VFW]/Z 8M+0%\4N!U6B&ZDHRGZHLN%G+# 1-T3=&KT[.@ M: /=:M3A90T[=M:R2(B%RG):<( O&;UM"\*]+F1)PSI0V JZA]8_.GSVXPEG MI8CAR3;5V'GV?1O <^P"7_ 2B1U]W5/K;8\%&P4@"B1<_F4QGU M=%(3"QD!E,>,JURE3.AP]>PBJS1J@Y/<80 %?32@T&EIE B%VOTR90D"4.H= MM&NNB;7@H*0RF9$ M 23AP4)FF.P',\;J5 @3>ON\B)*5<..[T1]HER-T]\+^@>K.T>8(V8!ND#UA MC]Q6[2TH#3,KHH:_E[1S4_Z@>L#?O'I)] 7%.F#3FE?L:.BDHWEPJI'&Z@.I0>>;MJ1BD_5=%X19O9SB(GU.:)F8\C>\70LJ M8M:IZI>N5G4"J=ZI)QE,D6LE+W5Y3P4)KN)G>Z*B;8JXMH@VCJ,2J"8R!N5! MC1#5JJ=>YV$944,DSN@$/N1%=8N+1R[[_0L>2394-VR=O(F&;O.D4@*0TQGNT\O71.^B Z[6HTUOB+6)Q-H7OYY_.3Y==;=/+MYO;RR]DU^7GY]13]>G;YZ_7RZK?S$[2\/EO> M!+Z"P@0MNJ#KB21[&?4S)EOV M_ U)2P"_8U(&"/]#QD#EAXSW:_V1]BFJ'Z/F>0R.R?2HY@:??]11&>TA.BP^ M\-)ECIUM-IC=U;6OTWF=5/@:TT^3;M/YDA$M!=%)3[0BW2O+OD3]UO0W>BLV MK1:S(P;G!5&*Z#9GO^[Y<55K68-8,AS-/\A4SJ,+A*19D.9$Q_(B[43S[OU MG6_4YN7F_%!MZ!^P8H>JNI;HSVC2S?TY.5+0PKLY0=?OV> M%/@AWY48;1)JC*J7(U3^:T=^19L\KY+[P-.%8%#90Y MGJ1OCAFV=T]O+Z3'6\]I,U0((:SE.\P46!U\WQED\OW)Z3 M.I9CV;OY=,:]G13)4E8W[3)G*E IMH9GH[ H( M1'-(J @6QX5D9WX"JH^AY0,-S=GP!IMQQ8MO3ECN=DF+?>VGXC\22H*XA0W- MMS7)2KWGN:99YTB9BUZ!(MU9$#^3A*@#HW,"3=T>3!_OTX)"1\)/#)%4@&ET MO:07!I_]('J2)=NV7E"YS-8TTXN]8/U:T[=^NA ;5(JQ(P:T*^;R)E 592QE MT-D0LR+=LT4MA?H*[I;&OM14R2*<+)&2T6G=VL@NJ7,"[,A.&( "#'?";(B. M[86!*-2,VQ#K=4JM9[(E9C;)5FFRY4VHSVZ]N\.*.R#8617AV]_. MKM'G\Z_+KR?GRPMT<[N\/?MR]O46G2YOEV\/U/)-H!EA'=09-YR7+](,GU?X M43SNX$JF^?SV9!S/?;M)#W+"VUJ$J;/DJB8]>8>)W-/0[AM4YIT3?WCOC4Y MA'2:- : MWKV;J*P3RL&+:QH9VXZ9;B2;/B"V3Z8Y Y]T4&]W2+J,G62(8EM",7#RF6%J M&V&\\<2,X 4(X/9>P<'&@9 <; Z81V. <-1"C96MO_X;XO1NW2B01V0\3_V8_R/7?<% M5ZMB1Y.HFD.ZN.0N<#?"CC+PH&0UL=\WW77Q%5?HV^TG=)=L6575I$(XHT?^ M6&0Q\-;>A.PCNWA:XR%NV$UTXO;F%*1CNDU MV7%BPH]B':8UNJHI?6I--M5%.6V'3LMJILDV]YZI<[)M_DQQ>5Z61+T%P)IU M:CZ7;B MB/SM;UF!5_E]EOX;K\EL^@EGQ&Q4Y76^W7ZN[SG0O-'3EM @;]N<$%#.MNT; M0.5K6_#7R=4V)MO+T^9[LS)$;7]$":"&0G0G"P%P.9*>[8CQ_3:W-<&QM.R9 M]66Z?B]HWH@&*]LBS5-W9KWN\LW2^"U, >>@<=PF?Z.\S9>K?^W2 B^?DW1+ M1YAHPDVRQ=TXBPZF><_6RS3IZ>9JFLLX";Z_UTJ8X?NDPNL)C].([X3;:4!G M<44^PT-2$H4DDU#2-OQ(7-&/)6F*'COE+??= KNF%AC*'097=%+U*7">ZGSH MU?*)H?;W#+BYKI/8*=LJR=;4#Z(Y&30=(%O32S^:B/#^G'E#X8B6=2QPTIR^ M[0BBFN)K7F%)IQ\_:RSG,^8&"@*&74.6(!:7HKAM3C]RTP$MAZ;WYHW96SED M/5ONX^HD*1^(FCVGQ)A]>OE6TJA[WR"=>[ M.^7RKF1W(PHZ!4NTO;0=B*C;M9B@;P:P> (3:.)*31@6BY/ES6_H\\7E'S?H M\_7EE_9PV]=?T?+D]OSW\]OSLYO_"GS))BQP'I1]&"V[1Z M$0MLTRR)3MLT8Z(^;)KEF_FS:>8"&=LT4Q8#FW;^]?>SF]M#L&FVP%79-#>% M4-@T0^)*FQ:%HC5\>"&@UAB&'(WU99P0RW"AS5';GE9!_4"[H#3[">U[H:[; M$>H^/.J^?)2J,_+6VNHQ.=AZ2C!"0@ET"=L(?&'/4+>1QKXIJ%4%_ MMG0#;V#$[3R;:EE@]SEH4.#L7[NT>I$XPN,/VZNKA(=NMU6-"^XQZIY'DK Q(?L0NUJC,#B^+.W#GU"> M)&SA0ZQ>[C#S#'X^;OP"^LL_Y!L87W>4V^6FGBFDR1?V!-I2BQ8$W,Z;6$L, MG;?Z",:N;\XFKFT.>;7!:[0A)#]F $+),G.USIKZH M2= ;!I(]$9;@@1LRJ*1T/K)20^BIID0;M*0BF;X4%TWHE_).FMKRXE I;K$6[<5US]P" 06RKD?((DA%Q#B7*@F M!M6#V6KSO"U@(XWOW62-;8$]Q;DA#CE. M[[.3O'C*&[6XPL6*JTS1NK7^.+0^K@\.;@ZOOW>&\'Z]2#?A"GO@MV@ZU/9E MW?:AL;%-W8NXPUTW]"$A+=%3W3MPN6B?&I'/ $'1;X;GQ#G1T>FV:]S":$)? MYZL=)<->P$N$3E%]RYGZXAH_D;_9$9>4J])%;WY/4CIN=+!7KF&\_W@/WXVC M+-;P':@7U M7_BCIMNO_Q''^LF31N1^<3C8SX=DPJ< >-5H!RM)B+<'(:_K"/)MSBQU^4=: M/3S@[9IN<8Z&*6D1L[)N*U@.6*+-&$$1=;*&L&\&X^V!R22W@D LN&0%YKKU M=BWH;L93>_"Y:_&]8<#,HFQG SU1+H']/6#4YWXP)U@\&.*=I?.DI0X6[@M9 M4#SN'B^_9[@H']*G9L674$=U9$%(?FI^O6%F8+]\/,4T]L8I86,8O-%O1LH# M?;?XM*_WA;&&/L2;B("#<^/7QM4#1H\U!Y2W+-J 55*OC4L2I&\Z'Y<,'_UZ[^H+EI?J2;4?]9/3Q_*O^N\?;P/&"= M=]Z4GG;K?E.Z== 1;A!Y;-<[6N3%>3QYI"%1NK#I+73$M*W7L^!1?R73I8X) MS(R6.6K"N@LKQN=T\% ^"313-*?E@X&3R?;PW@YW@23VX1O3!<-%3KFS5Q1Q<] M=?'OHJ%,G)@F5DX-Z+8ESLSDCB>/<$,_K'7TJC?Y'#@5;*@/5IU=?2,VP&RU MHW:$O,DXKRF@RY[EWD.ZDYD%ZD@9F@;:9=P\,%^,/+TA?R3$F<:HW-V5Z3I- MBI? GM7AV@[I9WT1O:?;?:2&B(7I)>7[B(TTIM.VI&_X\_]JB%T67TAC M&B]:C\2'!.,43H#VIH8 KC5'@_VQ1P+F(>0>Z(*^OSB+#J>+-UJ'Q%OB:$N M_$KG@(8&JEF/M6>SS,__"[59R:03E0 Q$?;]>2$"%V/T1"\7/+@A7 M;_[=ZJD$AEX'93N)!:"'?P_/N;% MQT=J '-F ,?V)@,OIM^F!91?EO&F;*#[O3/SBVRTQ%?=4AM&_*A,X+'H!LYK M_MZM7T@=>MO6;QBY,+-^;"/[3MS(7M*[O>Y91<-/+UV39E]\2:\Z;:\-O"K2 M%7E=TOLQSVZJ?/57(SAHVI=G,2=N]_7)>-$>G2O1*LG04],%E;092JIZ.Z2S M;&30<;NIL4W=&(GB@O1!.-R&^;M"C9ZG6;D/^ODY>V<;[9X(+M MP9+_Y>NH3DG[^]Q#HS4'],7[B+VQY.XK]OI:<&'2UHSA4WQ7=744E]GZ!!=5 MNDD)*5S2TU1/>9E6HZ+?E/G!FWHKC8=T.T'W\[ M-.F)^*[HDAZF9)TC.1#I!KXF&WQ0Y3N9>=PO^4K/["ZT[>48=2 MHV5;"7^JI5O)>[4,;K/>-(.)ZO43_1;LX<<[]I37T3CT4&=<5#( 8T"J/B8P4=EAE*'Z-/KQP\4D?%%3[.3L=E]8 +&BXH\ /.RGWEM3;B MN"L*G*U>;HLD*[=U/&%_T0D]+Y,7[+>J3JRB]R;&2_: MG))50P95'1V4[ F51S2G,:PJ^/L00TV: Y2"(OICV>FQW]<*YF/)7HN6.TJV MM-C1;_EVG6;WOR9I=I&7Y67&^8Y%6I)'ISL:E[YB86GRJH*I\LBA@8$7#EX, M,\ [N_F0?@0SM\ N_!:,*.I11#MQ3[C%[*O%KO7&WEFL>@^[7^I:%'NYV;!FV$_% M?AEYH'+]0_)!:_7+WA8F_.Y!.G^%^@?,%GN*K3-%%8T217VJ1^T9/%;.OSN* MD6_VQRSVQ(_:Q*[#KN(OU1*P$OX*/6QM*30;N.+]D6LZU-:S%[GFTW*6O?:N MY_'HN=1K.AQ-?U7Q*[**N-SX#V*);#Q%LCHV42UEQ;?7VF/(JV0[WS*6$W&^ ME>R>*=1BEI(AYOK5K6D'ZN-M82M15%]KVY:=OP6NU"2$M]E4>C(-;9.RK--1 M>ILH]'C%\O+D_'-]M?OEIGO-3YB>[]&WVG",%'8;@I$7RPWW!0PBD>;6&T1, M<_L-P'8A]N=VA-E1-F:A49JMMKLUNZ,69<18IXQ_G,8:4&N4YAI<0U4&VYVA MVF2_8FLPY\X$D+0AS )=?D\8AE)B&=*LPF1@6_/ UN,Y%?((U:3C]? .RV@8 M[V$'@16G/O62:.DLUHL77S3 ;&?,EY>;04 :7/K#KE M0-?B'8^(]YI!%,>?O9[1O?-KH>,T K,D_SH+.*\U@/?^KP"F6/SMNN;/BS,^C/7?:6['/ M'Z1%7YJSO;U&?Q"I\&G^?>QN:_,T0A M0LF_9I,[[4KSX=97KHBNLK_7.TR5]CLE^W%-Z+):@?S5(@FC'7WND9,*F:0@ M >BJ01Z2#3>C=*378Q1F3$.T%F]VFV"0E$@UORLL(C9E3-!I8R%Z5XHLWRT$ M('A?B8UP/H#OFDK)UP2U2E3V?RA!)J*_G.5QCH+?@/?V0O06"B&)&7-)S&L^ MB7FL)G#@DN@>/AU\"O,D:(&SF$=XP24R2UXD.HL =+68+]'FM03'^@<8U.<7 M>O6@7\4)AF 60%:U[. L@&MI;F]1);L<*[NT>1AA P1_X??IWF.]/B#\BJ*] MSC[#^*WTP]+?G\32WY=/S'*=_2"F*RUQ>9XUA]BITI]G54%@GJY^3[8[#!5X MF$U616U__R(L&)&/K-XZXCDACA6Z>T%\NX8=8OR.4,/Q".UY4F/3%IC9LT2, M9P0E_#U_U:&EF1?Z8V7]/3,7"OS/\*K191-T)Y6Z(TJGY V>$^JY0141LZ"M M?>C2B+;GDY86[SEGL2 S\5R.5IIPXLY3EOR!RC8$A'\T^U#D!ZIRB!C*JDA6 MU0 M4S>U\RR9H&?IXZE([V;KY9ML5M8^RK6B7C"N!WCH=',9<9 <\R'Q@'L-LC<- MF4T^(I.O780!*[B\\?[T&_%$ZZ@20#L&"I6#V200F4#M#"A5^B"MJI>3/),< MX.UK%*=W)M\YEHU),4S:GC3%!$=0X&S9UNEK=HVY@FR/]!Z8?],]H%(LY6W8J[W03K>7VU5E9K(!%'34 MYSAQ?9DFC07];^#+R@P'/[<<&?$*,[W>W'5FEG";3_D^)VG!-D/K'.]EMKY( MD[MTVRQ]DW)7X/5E=DT%+^K$L*]Y5K1_?DK*M+Q(,WQ>X4?QF)P7VLV0 --V M4G]V19*YXP8I31GY0V M8L0#Q[3\J$3N%8F"$03ET9G*5ZO04%%?>*%FTF=V^^.[1D>@T=*8^"'H=- ( MO'4ZVM<=W3VXW+"GY7)7/>0%=?L$N^.-?C/0'NB'2>)5O6^@?-T)L3RDYDJY M063AUL19#1=&'G7T#S3G5JDC[@FVFFK8VEMP/@")L]J:?GA6EUN%_TKZBJ$D MWVR ;?"0312F6/;V M9CR+ZM\X#IHO.PI:UA=W?5,+B]IM=1?PBE);E+B'& M\*AI]3J,KU1'P&VP0ANA3;'(#MXB*_5^QI#]:K5[W+'$\%/\1!SV^O H^?<6 MLY?+UDV D_U^5>1/N*A>KHBJ5>093;%Y>L0#0PQ-M@WZ@Y%UVQ4 ?CN0NT0 MA9K868!BLN HH35'BL4)$HY&X/T):"#GOD D[G D>>V0.)0/GK*_3Y+*8N1 MTC;$I%X5^#G-=^7VA::,LL;$^3W[L<(ES5/YA#.\22NK3$YUV1D/TLFU$9S9 MXIH.;,D.C*<9<6$>:YVD YFDK*8$@4/1L:6N3_6 QZK2,0_H:2\ VG$2T(-' M1 36^JX1(G )&MAO.51W7[ 5U!Z63:?\\.)',0.;J?\S+N[RJ>4-J%C^9V&J M\?P\S$^[3'W7^#'/RJJN%$(LPC/IE!=IZ"5,_).R5#_CG98/.RJ_7*^9<4JV MON/S:DY04:(I3F$#1>IO$$.L:%)*C^&B";Y#T\?VG)OCUB*;TL%^5U)SW+5Q^> MTIZ#KATF9.R61K\6>5GVCY#+;D\'HZ<^J:!+SY?ZF[T/3(@$0!HKJZ%)?2'4 M/8K64AAB4<>&6,%;P[;HT=6R.H>A,: W2<)(XU%GZ!PLU&.)=X(-IC8VD_+L MBG-P$SD]* DYD8_2[FKRBK)UFEV/UX+V'4[0I>/ZV:$FD_0&N#* M]P^Y$:$AH[]RWW*NB^7]?<'2R6C]_Z84]S.KVDS#DZ#:&M M)V"UN755TGD+0L4/K@:WOO;/;*'OU.]T-UU7G,Y/_7?Z>V7$VVA/C-R- MM-Q-=<1F&B_>I+/A\@Q(^V%H6"E8]1_9T?> MZ@HGCXM/#Q$QD3Z_ +U@];O>EZ!R6$2\"(TT)*8=Z](.8GDS$C/M'UFJ=%/2 MXCG\540:8ZBA>\8JI:,KWK QTTZ)M<'OESQY#?BP,+HZ"'%/Z9>3!KH(5L'! M"A['BO235X$86?Z4(V*&>4TZ$^OJY0ZSZ?+GXV:RI+_\XQ3?51WM_O;655ZR M9*S12V3,.S9?P:2CDV:82PA@2XV8RE7'@,R"MN4O+Q#O^&C;1Y($:0&XW?T M*L9V7O0Z)WE#'0.$#LKIP.YR#LG;KEL!Y*?5E6.?T-#>;C4IV]<#M0Y(UNP>L$M'^DF6H-!5+ MMJY9*\9LPR2Q6'X=D$#JC$)[2'(Q%:*NIUD>(?;[P1; M%4G]^06-T5NK?I< M[ %27UZG"0&-M\\J='@C0E?\M1E!][45.?"*C@=C3:0AA==K3RRWG0VCXW2G MVRHZ+N^HB(Z/=?02MI%+Z#$Z/LK4/%XS0F8J6D.;'TJT9@(XRFB-$G2J6,V0 M@#I6HP'8 UC^\1L23X-1&(],^PN$7<;IB.G!YU*S M7?R!T_L'5H^.O'URCVMO"ZUI(NQFGZN#/J09VI5K6IRR=L-^.E W3%]EW!TO M4_5T=K24# %<*W-3,)_%/GM\VN8O&-_@XIE(,OZ.7_/L&9<$\NQU2G;G+?^< MUMCXFE?_@ZOK?;48P6AYY], PB,?)W/M_?T!O$:?,LI-M3^N"[YZ$5KQM]2L M:!F9 M>;*43#LSS[6#- F"V$$,MB[W4*:[[]*U ^&U8%X^V-7V>[YS,+!^!L M>]U1\;IO$E5HTWD/1+X[#2Z3OW.\HQL9;A>#-92;S1!:ZAW5U/>7R'_.BPU. MZ>TUAQK;]!W!G&77PU*<4!LSZJK42R@2/<(*SP_"JKQ_,]IV!+>$(L2>BR,!^ MN[LBQAG8,/LBWC*P1UC-E($MX0R"WND,[#>,7M,,;"#T@AY'^Y+\2!]WCU^2 MBK)^H67 >4$$^&NV;KZ'LK63$FK* A .57.2ZYFJ[Z)I@!Z;%G15NZ;J5G;J M]F'+ZNL_)!GZ3_2"DZ(,O(6DBX/<<+ $15+TZK0G*-*@/!,=-M9 HSY("[6V M#;K<(,&RORY82?T+*& Y>Q(J^L#N@PX[>X@=OT6(R9P ,(CYF.YOTT=ZSIUW M+L9G^HF&_4E^M"&$:DQ( #>UCS-1:L)8M[T*5.0AJU-)R_JBI]9#IMD@CWE6 M/40RAT^-L*@$:C0(Z!_I, #^G,@!GJIE'&R PT_0]#&-M?475Z\!+JH9V1(P M4//P&&D_4[",DQ5TCM\$=!0SK2UT_-U:U=Z*5V?4VRX8U)"RE,"FCM $0=7U M5MV-DG7G:%Q"\[<=PM8%!-K%BF2D=(H838DQ-_R]E\F:Y P*^UY9+=+MXXT$ M]I?OL)]>+\T,^Y!GX]F!*KH#5^ 'G)7I,S[/5ODC[J*^O^5;6L.7]_@ 6H3QGEELX?UP5-S%H] MT UE/JTV&?H&77S[O_C])'J7'3&;-45$2(:UDOYU*)\-KH+%]<:O,\RQ6@:+ M">,70*6W9 _JN?PRZK"7G.>2[1WV)A.^?-N>RR]Q>"Z_1.BY$.EQ>I^=[(H" M9ZN7VR+)RF3%DHNR-?MK6Z<:K?^Y*RN6:=1J\A6M9$2>5%61WNTJ^BUN\ZND MX*HY*=P9O\P5/HXOYEX<'[]?"N28Z.RBFSM)GD19-'31JB&,JHX62O;$#L Y M\JR12H]I%HN@*SV$LCMJRW-1=L142N$F-]*G-3'I/@+,\Q&XZBZ8BX' H!@ ML2RI=:;GH+0 :L_7A3VX$M#]EKX:L, S+>FZ3[TA.A'QE0^A=4.Z_Q)*.R*] MOXE=.77-U8.F89JO6%RTC02_(4^+#G/>V* M>OL1Z /-X0NJ'6<3[9)6::;%*^7Y4E2/M"XZS.1 M+:M*6N2C6./UIZ1,AR=BW$GM,VE=2#FFO[F_A9:!H)54Y ;"48RIW#D'PHOV M3\3^#IU+!X"W''+H:/7H[EV/QC 3G28!I%4[, =*$W26P9,:'??4B LD=!30DOQ%U>B, M5Z/WZ6@:+O&ID6N*N1-SH\05G?,+CK)X4J=?WM4)5)UDV2X1J)-=!@S,6I"6 M?G1; O(4[%9^-84Y+0HOE)GH(<[6.HS UM(D4$K6 MEB ,]N'.C=JQ!L6]L(![1[X1 )C?^XE&>-IM!*#C6KL^<.J %E\O6$P RV5 MW,$,7-O"2(#^+<>.<7T),3O_;D!L3H67O,G\FC\4!,P$B*07PHWBA[4*E&'/ MUD1,8]G25@A$KB)5KJ YXTU-K6O\2)R&-+OODMR%(VBGN" O4*7/N/QY M,)T[T.A7H#2E 5$OSDYNN+J5QOR5Y>4,*>[KSA%XWEY[]@Y>M6>YV]Z(Z_YV M]4!5_7-630A\WHK=&.TT=SK1V)^ZLJ+A> K%06Z08RAV_*?.H=A07#3=4+$W M(?PE$!NQ',2ZZ\RFU1@N@G##8 X"B<'!% M:_-F4 ]$(J%G5GCFP0OR#4XE# MFU5#ZL'$$:WY-2'HK"K(=4+6'46RJLJ+-+E+MT3TSTE:_)YL=_@T+5?;O-P5 MHD*ZD&@^OQT))P/B(K7>:>9*/I]:,I=;#RN"BPZ%*,W*JF )B.7';=,II74F M6P."?S0E*LDD2^\W1*N61U@SXH2^' (-@@FQ(=59D /1!-!36]8"P.H#G4S5 M:#]"K7J\O%7@2V?/^:'OG-MGQ13HF)4U;V#<'W>XW[N))QW>]WV/$.V-6'?4 M]7^S:B#+"0R@!B%KL]M#5_IR^#.R>S[&"M/TG%*8 MNDF<*B,,M$II1G&A4)JZCU)M_,/(L]'EF%BB2&%X7QV.3,VO$9*"FF!Z[.9R M0XMNE?5U\@):I<^;#S'RW$DOI/P 3.H8;;D"#%NS(V)TW^$:/^-LATOT9_TD M,-+E8Y0K/ZN YT&[#L/>1QK*ZHT3-AAH:MW:H68_'_ X2RV7R4@[!Z+FK4T/ M&K\-('HL5U#P,>-]UH'D$HKWBR="X/M-7CUQ:-8(** >0.IH#-'QWQ:,(^JQ M;+QO]($FO_]T-$P'X=BS4OB< *B3X C=[>_/.4*-&(B7@R*]EN3=S(50G+=I MYERKQ,G$E5=;'A.0W;-(.A8X*?$IKO^_O"O9O@V4RSZ7J.8:"'2LV>4>' MU&S]V7()O$:9X3OJVR4O2-Z- 'FAP1)>?$_;HO"E%W^M&G736@<:=\YJZFV?*VWRY7J?4 MK4VV5TE*9IJ3Y"FMDNW- W%L[\A(X!CYBX?E3#A5V/HR+!S<\,^;.>,SPBMYG.*" FRXKM\GM^,V[ M5M(X#_@D%S*1M#N.WZ?9_36N0T7E0_KTZ462-O#I98S8 M=5K^=4O7@(+>S,^X&<8Y&3O9E/F_$(#K/:O0H!KW=;?+DQK/3$F-_B']4G,D?]9;8: M4M^^ "F6W%; <5FTI-#E!MF4.FOL!*)$$:,:V&0 ?9NA/0!'G*#N0/0[7084 M^$"\ JC8QLP2Q^ 44%OP[A9$Y19(+<7K=@R"[IO=X"VA>?\KSG"1;,D2>+E^ M3+.4[NA1<9M5\'B&MU7?9F@-^[JY3C9R@NROF7*>\(",*"V:YL24U1U8@*C? MI8T1Q9*C;(>FW&F018_$A ;G=\R)92 ?!RC2"2F.?_?_^-W]G]_]E\5HHW7_ M7;/GC,P!Z*:Z.6>@"8S#KI[(5SG?Q%K >2^=Z#YAE:AHH[$GI!7MH>L0XQ1WJ'&-&+TLJP MI15?W7?6C(W.B\E9=D#ZW%PAJ;WS\$9 :1?VMX9EV-L:5JO=XVZ;5'@]Y>*- M96/9=&WO9C#JZI;-;2$EQ$T,9FPGTJQ-""VXUFAL$4>;QK&#:(6>W&54Q4QD M Q)<5G&_.&M85B>3^\=Q8

# M>=!9;TI">7T$;@NB43EG.LWG=Z#C;;=/2WZ]"X#N*2IN\RK9RB=(%U'L]N^F MJ2Z8O"C#%:IO0"E1@6O;0C"?# NOE/ON1W%OO^D!4VN/S03C.MMHD_3T]LJB M5!??M8_T!/"@)A!UBM[51>Z#SJ48<&I8=%HHJ;*R;%!>$ MH5PZU7C]SC>!59V5("!:W6L'=6R^XNI;5N!DF_X;K\^S9UPS:K?_O"%7GZ\6 MAG7)]=!,.J&N;6\3^5# K/7>D[ V!( EE#'1.P7V:*&JAO%O:R1+T981\R7:\O;"L839<]Q27Q UB5>;C>W> MQ1R*$W3_8G\__9(L5JMRF:W;J^M3ZELD],+Z]65V35>K!7$^2(.O.5E6-7]^ M2LIT-"\1F#([+@I)"=<7FIF-SX&3?F1UMY+O' MD?,+C^[<&[ $:P=&O[-]L>@D*^3]22SDO2P*NOJER/KTTC6Y2E[H3TNZ(KY\ M8@;Y5%0$GKSCQ&^<0JA-]425')==2/C!.'BSWP6S3/$/?PJ/_')WR? M9AG55^*YUQ_F")6446!O!/Q[##78(PS% \W0G+A#SSY>PBT(*+\3J@N@_%H0 M?ZL+^])@"GB)#QA!)J)_ /07BFPF?I^.D4+"_D4\53JO6.X$U;B@(K,:)])TTCA([;(WK?0X8C9- "4#C>I3=-&X@9)1Q M>*[P3K>/L"SK'02S0+PN*8U(O)J4MXBB[EO,I BT9_"B0YMD"C@SJ MZ*"D1#6E=S4:A4QTBA3M@TVSOO!>O1]U] MWC^$77DS%+L;+X<=>BVZ $8L%ET+[A< ;-KKTH?Q$-X53@=-$:N<_+O\D8HE MKQ,<#51Z MLO.(OH;''_@$J.;F"K_^U/6V *B>54 A&&V49V*#:G^&V2+88T/6J2C4&-D M16_D;^^YS;$J"GSI!':M$KO_C_9LHD.'5% AIO.=FH478CCAZ?76-!.3$+9. MG$0>_U,D1!4YKI[/^ZQI@[B#F3?C""GQ\NJM_?MQ:RZ@S04%ZGZQA 6,T#2,#EB <1 BT*$Q$BF8 M 2AIZZ78]=G?W Q2HMJ9?2/Y[6&!QO])NA M]D _Z)%0Z?LZ7A_K02Q_9T"'W!:L_<<[V@'Q1!%'%=V](+Y=0QDQTD>H(7Z$ M./)D5<08'/894;F2@)T15>EA:W+!^<"=$%6K^GQF5YPEV-R@OBRDKM-;7;'S MS9*-%Q^DFT&&)>UD9WV\I%\I"@0]5K# M&E OF,]]8DTPFY L.HOI55]UC.7JY0XS$_CS<6, Z2__N*GRU5_G9;G#Z],= M38VJ6;&5+GO6M]AXOP)IWH^ /*A9[PNYDHYEZTT']I1GU^ \ MF'*(GO5<_#F/^]UN]>6$VHJ<5^ (;!:-C;Y;K==LM:1!V-=LMPXS='LAN;<: MCJ!K@"84 TNT=191KB'#:]&%XZ_ JT M#LS/@I'$I](QS^A=[3RKG=P[B4KQG',NY_-\(&_3FE?J&)9#QW];M$1H3F;) M5CYYL_*AIX&?F_4.>5ATZYVZW:Y>]61U/F==Y'9?.F--C_ _O:]ZYE:#M[3J ML:LZ:+894#,/L!O@D?'T=H 7QCYF$X]?R.N&@!^YC:<3'V),!=>:L-A;BZ[Y MU&/51./?ABCF&0\"*">:^.P7Y/XWU)(47*9YDD-&DYM9=@A_=E!^7NFHN6.\ M:JQ2/,>1#B=W1+J(C3][)&R@?/6 U[LM;NS,U J]E"W1QZZ< J?;^H=P=-W< M/^CW@P@5 ,HTX;F!<5FTI*BMTXGSE8I 7PR%P>"!GWO#G.@O0='GW*%8U'4V MM\QS&H0OB6-8J2D2(=[7:J]AK6::"_%*5FN^=B]\B#K#]H4OL:,P8_-L8$1R MA=_;,%J&6QFOQ6B%O$+)>L>8_:=YW_K3_"PN3CV0=DWK&B4=)M5DXBU#IGJ- MB^4A_V2,T:)U+>O[4]&'-$,O."G*GPXTI60*RN[))6I%<4XR&6$!D&ZBHX8S MUA\M[I,L_3<3_H18]'R;KNLWR=971/G;G;[+S>OHT+5?; MG-9+(:UOTON,12O)>ZY6^2YC+TCHK5)Z>SLW2K' M!/I:.C;Y&1=W^61MF?F%GZ@],[L@+>DDR:$DZ/])Y6---\%LT.P)$G5?YXR-1WCH21^UW\4STE1:GJW^J]?<. M9WC#HG111."@/PG@,E"-0:C5H(P3P))PZB6"UD.[W%5EE61KXBG4,O[C%Q/5 MKB,99]G:@WI/2NBO.-H8OT6[5<@]/.K_0;X!U?ZG)OOJH+5:]B4 M5H-/^#" M9P-.<(7/1E]BOF+(X'JR]&\ECU.&P2H?&.E/-Q$^=C M([-OQX=*"P+>%?=2;I25?6[R? YM/QMB7QIL=]EEESB&2Q+.LR5X8=M;-GB9YP4861K>_@M49D,LV3]0%2 M?^2HB?.W"211>#D'DS4"'RF<+6_$_9*XF7<7P2Z3"R%W/-D$['(ZCN<1ZG%E M&< \7QIZW'-&'6O4\69]..ZH8X]:_NA/*@%B(@2>9-]>9H+\FITWDYL0QRU[ MG$-UK+V /-9>0!Y[<_&/9UE 'ELN(-M^"]X(U2?:+^_H-BG;/J\[M.O%XYC7 MB^*03_K\X_B8\OB/=3Q^&9CF4YLE4>5UNMW1&$!W@^;9C_H&-GJHG;I!N]90 MG"5%1E2_) X.\X*6C]08"! 'I=E\:B":;M=G0[X7@'I#R3-Q@S8(AT7[.]U? MK?=6C]!37M$@4[+=OJ"617O8B:;6U_\,G%L/B^3<"Y#$J[(A:'-W94>@=UTJ M%G\3-V%SGI55P:I=E9WCPGDS1(I-7CR2/Z@3T_VP-"WP-5 MJ772'V<2II2+N=5&FEFYAQBC*5OSO7ZX5T+*,L%)XQGSX+:&9X0ZBBAEE1=AHLC1FW, MWB$A].HXXA&J2;[[&VIT'8#'X:R0$ZLUGWMPQ]9[<,W#'KVP];K0'9[(B MCRZ4]8MV*.L7[5#6+]Y"6;_,$LKZQ3*4]YY1BOR]/-KNQT0 :YZ MC9O/HVKLI#)ZD@"87R4CN>8HNB[JQ#-F=LN]NQ=65S0'.#<;!D%?ICMU*A,0 M0%!F5X.++7ZH\>5:'"'N*$+7ZC7!26J 80 522WB7Y,TN\C+\C+CQ#W/Z"*0 MK/8ZF]&M$)?9FFOZ&]ZNE]5)7E9UW>5]K.<:/^5%A=?U.K&\V3T^)L7+A>S2 MOV@$&E0_#B<04# _]!<%K;<<\&5THO[!Q%M0SF0A17C_A/*,-U(Q7DN_R%5?M%V.;3-RV,2[/-AN\JL2+;-I\MSEYMOEP M\_!TV]2>\[M Y-/-)._$KO@L$BR^905.MJPX#EGTEW0>PJP)W4.GNMULDV_R M J?WV;[X./V!G60B4T=5)*NF3'G@/?-9M2\/ FYQQWT.WMR._+NM@;WE;CYA M YL:EJ"C=0->XQ+3B_!:AJCA2 M#T)M;>,^Y3NKII15B6DR"<8_F\KS7;)KD MZ4"OT#@%=6FOB 9_31[Q\DG*>$MG2Z,^S7MK]G%2 M B.Y "9577YRO="CL"#-$&GWL6V(VI;-#=(1J8P9-G*KH1-42:MOIU?1(!%J M_M9GY@A$.K._0W':!_ !1F?O0(\+L*N@S]05EL?OL%2Y&UY@">J(,.*_%DE6 M40Z?\V)$@%*^>#?KR:_G=7NZ^^=F,D*M^K6Y*MQW33J-/\]:UVI'"W&/ZF89 MB4;: "AW&-FQI8 >!6%U$!MT02,2!BQ!D-O%+8;816\>N]-!#X_H#;KG=(J+ M])EMMG/5=MJ]]FN\VB9EF6[2NIH'OX%_57F]:W_69J1=U0EI7[%89] W MFV;(_+%Q,C"^WQY@(O4HHMQV>6.ZN"IPE?Q E XBA/+[C*50IEE73XC:O'TF MY5672=D)A9(2):1[N=NR)*5.HJ:0&4MM4B5-41G"6E#ORI?/!73!,OMBUYGQ M2 V*R>SB(SYNP!K&A!+H39PEZ+1?U;4?T[RAR/,?'(9_\?&)..]^&RST''$7G MR\F7ZS6K4)MLY7>M![K#2U-$#U=Z:7&&N.&KN96:+.@Z5G7[$G7,#O3.+_57 M''$UY\ SU(U@:IX %X3IO9C;?6&2$S"?ZX.<)[NBP-GJY9;(6FYKN=?_W-7G MO6^3'\VDNJRJ(KW;L6/)7 V&6? M058/'J4V]P7]]>.&_$P#&^QW5) '@>/V\ZF,NRMHJ:7.[J N7P"GT-HPS&?4 M3>:J9-7<+SDZ<[7'J34\@,:L!>'=P&AFWK,Y_F#?26L2R*MD*Y\$YI8;9GW@ M+LFB70VLVM5 Q:T&DCVM\BB:8A9A5-%J(0!M"6Q6!LXRV"T60ANB7D@4K%[. M@*AF+)K5GSG<:+2\QHI&/#IL(6^5/U3*'*+N';+U9.T"GRQTEWM6+/RN\!S> M>HY%G9UX#NLX&X8]FQ%%+0&O8-=?J+FKE/;:S(*5P7+L=2CN;!M[MK+-J[=T MMC_[URZM7NH)\EUWP?!U\-H;U!MJ,]U8%MPE"_*,'LE2MFN&8:*=DXU2\@?P M$*9XR,V%O%>3PEG_%DN2IGH@<^UO+JB>M'VG/[/# VH>FF9@@0XV([29O#Q0 M7A%.I$;:!2D>RDDU&DHL\S4NJR)=57C-'GS+TJJ\+G<3QU1-^_('5?7[NF?/ MF\H)=5C5@*\B=5Z;DF!W20?4]6ATC?5!'ZYOOI6Q7*%J!Z?<:93'$NAU:0@I M]#&"&?3XJA%3("QW1U@UT$R[O4$L3Q]D]8QFF#I?VMQ\'&XR8@Z%Z^-W*VTR MW"&0'3);J^?]J1>DZJ4H_"K#[_+3=.'9NC["DN**O,M#4D95@V]JY,;7%/JK MSLE5A"\,>%ECFJ\NI>O*PQYVO46DQL 'C;.-VMJ;;Z.F3:MM\S$4;9V@KB4' M@.%3\9'C?[KGXA#\";W!SHW&1%"4R3Z=R@2#$I3]5#.Q1!*UJ6\-2U*S"X$F MV!A>>WJ),1ILSE#/1SS_:M"CK7:KT\.MI*.^3!"5;K6X3=1QU.B_Z$X>EK19 MKVXDU>R!4:>>Q5;#1[0-6PU6;IA\)BW?6\2@]*RM= 8!"U9.^:T MW.:$Z6.>L5^N*6>-Y9J\T\2Z;:P3N-9GLG6BR 790#+@Z@_/X'9S#89P'G+!7 M_K1^$IO46"U#O)94,OSVE&?7^&R+5SP$Q;B(-2$Q7&)!"&9)8?T&D,$5&R$T M5A[F9/E03.T*W=?=T28O4)9G'W&[9[3>5Q7=$1JHP!]Q0R4.KPD H\.5C"O> M!\L;8X(CJY[#T1WP")&=!#Y41X@GUU*ENI#W=%6EV?X6+-%^STC7L M7>[$R.&O15Z*6X*N9 874)F2 2J0;R<]Z-54QB+HU,PW)-IDES9>[A%ZIATB MR!QU0=A(K7PGK+;&PY;<6 W]@T ]_*U6%OSA02_<=T5AS[H<]:H#\]V.$.OX MUO5"XRJLN34#-D/F*GDAH[ ]Q>L=F[#)K-Y+D&S3A.F6&I&/WE"=W(LZYT:D M^;*V1)SLA)OD '.CM0!R(V%)UA# MX0C ' 8.@HFP(]89B" *,6O9+JC9=GZA(RG)1^=UZRK>-7>49&MI5>^NC-_K M*>Y]Z&7^I"[)6RCTYQR0LS.J4(;*@3OT?$]-1SOC[[NRJ-OD0;&K]QF_AXG:BZ::XH!S_!R?B M>3V]QLU74C5VTG ]20 6M$I&CMG/XBKFI;: M5Y[^O49AAN_I3<.*;7=S 12[CZ8$%VT9I\M=559)MB;]CM"^11R9H^9O)MEB MM!SOL"7DV^3')YSA35K1J[+Y)V<_Z#_!8FR MTFB4UW%EPE7DJ4E-[,@3>J@A6-]%WSLSVM",I)2/TW<9*A<7&7:Q4SYALJZB1:H[%XW_MTN=D2S=W:Y\\#M_<%: Y$%H$@V1)K;- !Z4R M4,ZY"WMPC:'N]T!GF@,I3>\1%>(29-ZV8DB]Z5"J 9L9>Y84&2%?DO4SX]D: M3NE,JM^A+4.LT<'-_]>6"& JU&(VX;&KNR]H!)T]1,O'?$<3U QF,_0AS="N M7+,=0_;33X$]<7V\Y.8C*OK/RHZ<;QP>EV#!(#U.+K!D09RF%>H0ND=F+-.% M'[C)0RJ@@',/A:A9 &\Q:G)T@M[QFX:>-%8 "[V0:_SS[)F(D!UHN"DK XR S@R=MSE>FQ# M;T':HL>V,8LJMB=O:""Q"!U%=$%5#C#,@L9;4.I,P$'@&\HALF4-"F_J,NV[ M'2&*]2\]K._[(M9Y?Q"E)? VP2_UM>:&?]#[,O;R_I$7?YUG5T6^PH.:#=.- MQ(E-: 2CVZ.<(:_YOE::O=&&XEV M3V@$ _I1SI!V3V2@@?I^ET7[)[JG?T<"\/$1&P)\:F0'\.XU'H&W?P2 F[TA M=5, "&9OCP;V,"ZK9P4*M=4S@D50JW>S(F+LMOAR0VSP$RZJ%YJB6Q'_].Q? MN_2)!FANZ0%A 9&FW=H:7=K=W%*##:6#J,&ESW(B 5B7R*)]?L3RT2NVJ-NW M07^R5J&O:S6%2&X[?&)VKV9W+J>.2G;B_1V76WD:K#]D!IU# M]J*,7Q<\_K3=HQ>?NNU"C?."V'T?4)[86!+:+C@-B.+@D&Q(!^JVX M31^?@PJV=3U"5GM,V:;T@8^J?&M9X4=QZ:[?H2V8I]'! MK2J(MD00A?!TF$V4^5!W5TW^M"5B30,KB@$2 M)Q? :?B;KQQR\C))H*"+T\Z/E1+7:ZRR[Q %DO4D\6G7U26^%5TY!X>JU18G M)7[(MVN4/CX5^3-FAZV.T'WX<)[FL*LU:ZI6]W0G#7WR#ROOQENGAK:R\[31 MCB(^# LH+:Q!%WTQ[ZW'1XAEHUV:VG5R'A!6BNU7SLT=68 M[+>'KRF[#82P6&WW1!!%NXO:A@,N:[6E\FO+M8,I:@(JG8MI;:N/"1WETPBI M*+MJJ: 5FN5L4NV5X5&/](69F+\VQ5T*77*:[_/ZZ1YOW[ MZFG2'T)7S>4%F2.-V"H5V(#:XH8>ITV*=;W:^5'A;$W3KQL=;RFAAM01:BF@ M#RV-G]A](1R3ME<:.F';'H.B.;"&L6 ;].D,#,7M MR?4^\,05=M^?G0G?7TAQF_RX3BI\C>E')Q*SHYO$[%5XF:TOB!C;?;O!*3H( M4FU&@1,IMYUJ@+=PW-1VDV!B_]N%\&+?N[TYAU;]H@10G\(18C38',FH<.UI MO9RFZ'S@?78(K.:0F!'W[QU(KIQ&$$%=&IJ87^$+8O76YQE9L=VG=UN\+$MFW6O_GRA%_Q MC^KV.]X^XR_$-WL0G1H88LT'="7FI!$P;P)@!9T%D:N=(^D%WZBUM$>(X.SG ML$H+A,(<%@N"67 CVAF2 ]82J)D&0 I?2D)GLYK"1T8"=3103>0(]=3HK%4C M2@G5I%!-ZUVIQJ 3I5H=T(Q.[T.Y_9X[3>0"#:OY>T]C1H,DR#W[;-WQA[(_ M+47YW'Q\2&9$!):E]1C'IYW):&C96@H8F,MNR/V6%3C9IO_&Z]_R+2UE^FN2 M9O3*YLOL!J]V14IW3I9%6I)'_%T>[3VYOJ_/!I'/_*9L +8ZEV)W;%##!U%& MS7-$%+'CAAIVJ.:':H;\_=AQWG_M^BF'JNP?RYJW6KLR5%]@#?%*\T^/8=QT MGCGP[&COE+-+Y@B%MSN' CG>,+/HH;G9A+VHEXY4[%WMFLKQ%P,Q@A6'0P&I>9D,L*!/N DNF-NZ 3F= M@FC'@4VIGXFB.L^H/!'K";4F,K-IX24/,ITV D!:%D92/IG^[T,S&#UT.=B+ M$93:&PM*S,56!$-[N'ETSQT:[(ZS*"7QEG4"< J%T(KH\U-/'LBKD :G>(.+ M J])H_JE?D^V.]9BN=WFWY-LH+>>J!MDL1I1]Y[8:O&N$'6YP"5SRX$UX;78 M_X:2]D?T(2E10N_0HHFNH6_0\@1QH^17>QUJ31\P%[,4617BU\U1*F#5T6W2EV\JE!H M#[C6:+E#@]UUK4'ZO&6=@%QK &A%T+4&WY?<9W<[NKK4OVR.CY34N=UMZ M?(_==+\CGD!6U=O9I/557J;TA<0$A+67 'C.?>#)L&8 MP1#OC)LG_0MQ9<2$G9Z^-$*WX^#:"'5'H K]NA*"7AVAP52G3+^2S*)M2Y/K MIAV@.&H[62!GI&J_(>I: Z!/8*QNOS%B(_59KH@%*F ]%@5)&W]%2G(^;T7Q M5FZ+)R!)@)P4&8,%3X6=]6_I<'5M]I00U7'$:#6)OZS+GMP!^2PJ1-MY+'IZ M8N6O2$A;>BM^M$_?EL)?G*/%$6).IJ&(]UEY>E!GG9?#5F8DZ[>L*D?OTQE] MUA9SZS]S*T\UQ@>B>J) =Z+B5*_EHODSDMM6QHWTRPYMP9?7;?5(P.6U%'EMQF!J>;TO:WK8RVL[1*N6URYZHEA>&Y%6+J_G MU#XM,PKE.NHS'F:O*;4$LM"HLO2?$79O-2$\JBM5[;OHAUID;M M(7V*98UH!I'<:@1%U=3IRZFF%2!GW#%^(/:")2M0(X*SLLY[I776[]DU MNB97R0O]:4ELS/KRB8'A=URRUZKGOL])6M#D6?RSH#F^V;2[T=[8N(7)/;\] MQ$ZW/Q$G8O"^F"[HO]$S_8-&[$M*I$3/K'G@P+QO1Y/)7S.B]-\=U=M=EOR+-]EE1B5 M\,=@7YT;GH%CA6A?;PQ2*=R#<%/EJL'9+=I_(;(ZQNDSV\/;'Y$*70/;&]AS M__ :5..&9L37](Y,:;6\9+! AS8SQQ45"W0T#3\V+<<2!E[]4DH>Y_"PF H: MY_B:T^.&3[C"R_L"U_=PCP8WU V;3S75T$GGU!*XJ=DD?;EF371;=,]0]S 2 M_=$8T%S_TPMZ(N_0*4< H)A99(5OI&!C@QAJ@,G3CZ\<-%+SZ@:;6"LL74@N MP#7IHC[1? %T :Z)5'Y/*U]H78"K14!Q-#.BJP2-0*%SZ%(&I5;G=+IJ':>< M$X S'""^T+S+4I/$.P(G+K.$QV"L<\&O15X:S .]YNHYH&GN2_UZTOBU_2TK M*[VK.R_8_]!)4A0O;(_PD:[\H]6M_E#KZ-48.#0TJOXL.MHT!YQFL.0='WLT MZ91W8 U?&[YL;+8APF*UUX8Y$;OE2$OO56$-"H4B0CX*UFR[3$DP#] M>ZVB&;ZGW:VLOIR]7;D6";D%]Z!7E"5:Y54A2:OZBA8:-=1;0DBOYDHDB)ZC M M$$9T@X:U4>>@?\R- 'A7RLL]Y77.G/<%QC]6S&&OO2X^8CJ1H[Z8J>)#J:\HR+NWPJ(J1D)=<41==^+=)\ M@])]B\!K=LV!SLV&0]">Z4Z=]@0$$I1+KL'%%D74WHHX&LSCKPE-4FL,@Z>P MUGCUKUU:X/7$A/$'3N\?J-].#%=RC[^5>+/;7J0;$=X0I%I+[D3*33T!W@)@ M5\!1C G==B&\X/0\:4X;-?2.4-L--?T0[8(^I!DKE%D&+KT/@LX<$B6B,7$@ MR9F:P]0_$%P M41_'O6O*$ 2^?49[L'/C\1!OB%'UX^Y\\0PI=KKLD_H VB?) ;1?24-:G[$^ M@&8V42F7^AZ$4QS M\"W1ARUAC< M.BEMHX^MBG'-CE#3\/5YYE)? M(W#UO4NJE.?%\LDW*,MVD MQ*497?(:]FH+0>OVPN"0E5I;&TJB_83/]&-N7H+$Y=5^LCFA^]O#*;R M.MR>@#HR:X1>F$!Y-)XDFW-=P@([E"KJD44U7?2!TB++#&X%0CDTO]/+\S@V MJ.&#:D9-O=SW-0H46 ]ZE>)L!G3-S3&,;INP)] M7CJ>>UXZ#AV_9))I[-OI->;CBA.-W:=BI20 *Q4E(\4<*>]:SW813$3J G/=6@G.%6EQ%,X^UN''4";:(U%%'OKZ.B#(0 M8B_Q1UDZD"+XXN$2:+[NJ-%"2\W[&FY?$[2+2T^_3DO M6.H0V 7#/N7SD%&G9KM@CSZRLOB(IXXX\NCN!?'M&A:(\2#ZS[A0$U#S07M& M-*6D3M0[T/0\Q0<$3-331C!4RIZ"(4#RGL8K1;:I+UV3Z3:?W,8'<[AUI0') M'=9@9AJ%YE=J%WEV_Y$L$A\/;F=TR@\WQ,MTQ'G,&P^,,-#BSEK,[#%&9[G# M2 EQ093A[KH-ICQMI'$,O.Z@"7P< #6Y9Q9+X, #Q,PVRJP@%G)K[.Q'A;,U M\6',? /3;NT9-^UN;DFVAM*!^ P&3">R;G6)=!&\O>-0X&><[0*?8S4&1FX[ M:&+JK69W+@,W+C""NA=&3-WA2-V-SJE=OU5HRO/"O8'3V3_19@3DIQCQ T F M\5O:MBA^!V8&C,H<&H\8#>G@?,F?6<#F/+NAQVB30B+N=;[=?JX/@PEZXD"A M^<16%)RTVD%F@-G'CKM^(,,%<#D @3# M8$&ILQ$' 7VHK1);UJ#(I[[8._;M(1 8_1'N$&CM"VCM!GB)I9GH[A/+DB># M452FL5F+\-G?%I^2+;T@%B45NL/W:9;1DQKY!M5RQ!@LTPV1&87%5,$P+[@P ML^KUB)QE$Q=+3+ Q108UTAPVB!O].E!A&)%7X<)3]-UOS-TJTD[7J?N9FM:U M4BY:#QHF9E%U)4R&"TP(F%P5&/](RXK8[/-L5>"DQ*>X_O\,>X$J[J8(FZ;7 M[186^#DM@U_=8?P.NM#3&E0M5$Y04@%6(40P_V_:2VWR7,1"\F:=FD^KV\DM MM02>.+M QO2F@ M$V4WIC"(LAM0 HU&LL,&F4WX:X3:]2GUXLT*ITPSJA- M:2S.&#'TX:/L9JQ!D2]&V=^Q;P:!P.@/=VJGJ>Y+Y-C@M-H1)H;UKW6OP?4E MH;\BV.,=6UHC_3!S64U! M99FWJ@LKSSFJ\V2F.N6C:F6AOBI$V669:B/*=AMC>W%L!,;6KS;D\^%NS/AZ82A8X7FT?&9C;#.U3+W4 M:?J9U4HEV:C1]OFOWR"^,:FWZ/D(ZR@:P>W&9M[HOV+_22XFWH5)[9 M%,7=5[;436?/69IK6TD%UPJH2Y;V\C4OE#[ MR+4]!QG[E-_J9@$LO:C5\&ZW6/ (=IF@-C-''+)+!=7']:,H!.\3AY81>3LD MAH^]0,]_O^=;0H:6/)O+X1_GZ-/E%SG&Y_2/?Y-8W?Z!M#,[_@+_+F+SO'_P M"OU_B=[X70%,*JO7-4"?L^=5@,)"S&?CNR+;M)3V29Y5:;9+L_O+)URP%RT_ M87HS=]WN-OF!RU/RC[)*5X*U J#4#+,3)2=;"_ . #;430JY;72AN[AA7ZVD MBX^TJ=*_95M:(,P,WE-\$-E[(J9_9&8/XA,#V2!M'PF@M]C M]O"4+)7V(8.H7T6HNS:)MA)*Z%=J0I^B9/J:WQ]W33FA->AUH%,_N MR\#GOUJ#'#@[UE .N-Q9BP\0+@-@L\&K:G_/'K&6-!1YC2E TVU:OWGU&:^) M\%L:R-D105YZC<7\ #B*;?8 !$6WO5RX=W+ER(-OF5OU7 M6!,#@*\<;J0%@V)/L+,C!XA[J(B'HP0^8$_71&T^$C?G-@30AX;$3T>2(,B? M+:' M7+B4!OI,B:LX@1=7#1B-X[!0.[QZ575NC^'REM#& R5+'"SX00GI>Y+ M^RZ:)U'HIW)<1274!(*@9[)> V4*@QS@^622C35P^)FA79^-3@VO"U@J$^X, MK1B,,4O&66;K"\))UR3K]>D;9E4?""73DPO.2"OY*35.06'!GD>A59IC+NJ6 M$50$_9KN.]"R\ @#-N8:S!P!QAMVUI+=9,':1FS@O4!19>Q!P1B#X6_V0'6] M<$5KP0N7M@;QI12R 'KAW^=<\.WM\ MVN8O&)^F!5X1 2)NK*)J5"-G7M(BTS"^1769&<;5''U=T"IM,,<- M';-7"&[Z/?PAXBG-LQ5//%_=T"%S**U/FI))%->3Z+*91+=T$LV[D^B&D%B^ M3:+^)U%1P8E7.HD."V3,MPE]PO-&VH?$ U#B<+"B9#5S +P#@/&WDT)LOVWH M1G5GSX'Q$"C+ (>[9\$L*+9F"!+_>U"8@QO/3NV9WCW):_P8)[1,''US^I;; M>$TSWQ_V=-BC!+:E/&PD\%/CP_Z;^2S^826]@ZH@%O(,+[/G=5NT:!LC\BD? MT8]U-1'/"U*?JFI?9P3,7NPXOO-* E"9!-!H[4$.X]/_W2;E\UE*)EIVL%A< ME@\XOWV(4_X=?L=%22?MW9+ MD?-AFQM#Y>UV?K9L3'\.GZ+=NL+[6!/1E>( MZ@BD.$#5[P%,'W-JD_V.B9T>6^^0:+('V!.9UX)8K)F@3AEL17"R<*?G$W7W MO;[:&\K"7WCXX7OI[S66M9:;7W=3BVG5Z]3;')SJ!&)-U"0#W/*;9#AM)"9( MA'$16'/H!XJK!9F^ALH[#Y4Q *A!SU$*W&R1MC/SU%>'PSTB=XO(R5D#%I-! MS 4[]^#T9@2=KKUY0:TKB,KJ2 DX1RBRG=9?)4(AW$,V@L5 0PU U==2%1)# M70T,DM!SB3)/&$3NS"O]F\OASR_N,3PYU[A#<1#S#K_LI[D&4>K47X-,=()Q M#)4D@UR#3#%4\ SE),*X!JTY]$./3PGPYP@WB)Q>@X!B$B:,=]YS2=#;,QY$#RHRH;TW_-W-7WYNYD]Z;Z8AP M@)J@!RX%:L1 '3D0%22 HZI7&.D@ORGSBF(=K.T@0,IM/;M&7N@NDQ:Z!Y+( M:?)Y:G[J;<>BR2B?T_7BCW&!8GH=@.:2]SSGAYI,7ES5/+!T\K/HU_CB%Q>@ M97FL!;'3)PGI:A-PIS3< 4IQ26_DK+B.W7$W<=^42_3:9EHU#10#=1(1U=,C MF6APB5U4)/E2W&SO-G%>?JH:]=32AH1&G9@A">=F1"3U3,9CA+V=R1@0C+[\ M?/,SXC^B3TV%R3VS"4)T:=F""8SJ6( ^*3W-GT3Z?B1R@@JI-><\?\JF_;D* MK6/+@DK.Y":^UD .SUE& M@GF5F;?=R#A@[LU9? RWUG#\X5U&:N,6]8WXHN MPU3+Z:$O-QTGK&K[6KTNJY47K-\URU;%@*G6A4Q M%"SVJ?LK[818+_2UZN?YXH;6.PXQ;CC&/7!K46E1KGY? I:$99!N81;>/[),=9T8\F=L= PQ#I,G!NI,S>V+T!TY;+SKAILM,P?#N4ZZ#6 M@YV@NIWM9$I_CPRCH<9H&4TKK=0QJ'J,](QM<)H_M/Z*JW#5'"P60D![*GQY M7LV1= 6#R0#D2;.9AGZ\_H_XNY=Z?B[AP4JSU:>!?%ZS4F%9'[ MD?>TQ4E".M*TVDF\-G!+5$EJ."+3))T;(-6WD39'6,W![H(>SQ]$J">16(5F .E74L>)>"96<[6OYK6Y0L6YN!"R$BH>$R#$DX-TTBJ60HX0^-2;J *>E: 1JSD#06$6 M]M9CP^XVOEOW43[^D+]M_Z&5)HUS EC)# B+5:+7-.I _2O[R7/LEF T,ODW M[&%SMU&+/X>C"67[1JBJ#B:U8?L]G$)CHS:@UB&>/7+ H?DCU)6']G#OAU84 M)ZDXM"^S*,VG+%_AQ$==&B%GYZ5I1C@'6IU&^(T"+U S)K>/&C5#.9HR-DHF(9TXLR,R48R(< M#4C9KLG2Y?X3 1.OFEXQ)JVOLB(!714#2B,V!F!,HBXEYK34M Y030TUU!!5 MQ[I />*(H9T:DG[M!,QG&9H :(3U]!N&?*NZ<.)Z\^4$KW!=!682Z7;>X3S> M%/AR=;39K),%]4.K)&?DI_/D,2E'MYP=(Q#N[P-^.%HML2_=[[Z_R+"5_+IC/5QQ]3_J&U*@O'RK-OE;&STA.@%U? M7;YBJ>*:^R')$.J.V!=KN@K[23Y[TJ,RAE5B/<,QI:-%IS$"R0H98U M^DR!<$P7*6](5AMB#UCVNDJX)0S(K+K,V,;";J( KC*R)OQSC3>Q4E$95X I M14!>K'&C'2+Z*W5 Z]_1UY.,YE_WK#O2(DBY64T7G#"2)CR03/)"IF+:6ZYPS!GAS]$O!>ZYZ:( MH"XEI@C7IFC9F*(M-47YFRGRA?+79HIL\Q2.^6E0WH^0MIY+3?V)%^=4"R=/ M?;?:>CIJ5Z(WM( 4 2)!V3(N\>'[#W]]_ZL)**9V[Y0Y2O8[%&E$G3V-IB6J MFB+:]MW[7P/)W:?T2B/[&GKCU]_/4.G=V<=0938#)+5\F\G28>H\;4%)/(JC MFR^O"7RB^=D)^,S"):?"Y\^3%)^5^+%_4B-NT ^C[S2 B=0=<(0,I^\25PC5 M;9OO!.O2GQ'[/92(W>$P#:-V14-9PW;8<"1VU]UP@\?;[U+6&>U^W/V>C_=T M$+[2B,,%X[X'WT/0$D>L:5&R5$,J_([ ,RH=E*8A*M.TXWX'RCA#UA:P$W= M(\B(*2WH*429ZN*X-@<6%%6B20-6"O?1W&HB.-&)Z;CM>J)KB#"EJND?&;Q5#2B)R]C\GM)C,8FZ,L<$RB:L@A*()RP .,T)G7> M/X8=SXH2ID 0GICY^(VDYN+2CW4_SUEKYH2R[G0&"N80IRSI5,OSNP.L*'N4 M+%:4#:79G>?>.WA:4;92P'K/-=WHM"B31WH3"=WG65&TBTGF)=?KS"!-AA8$ MK;SC<3S;^,:KY< M'6\?M^N89H4])VMFW(\MLZ;#1\>"CI41M98?8+/$1@:Q!32G&M&N[(#@J>Z, MXKHWJ@P:^>FA(D"#WA<-";1F-/S:+GM09F#XZ%D?8WJM?=D[58':.K$3P(&F M4&^ Z0KIC9KNJ.F/JFNCERGB)-#E"K5$T/F;KO0 $I"V6$=(FG,&#J2T$\2% MWAR^Z0V(WHCB0;WJC<_HTA.\PGG.-D:/B#!E,92_IZL:/?A'5NIA93DT9 )P M/]6XB98>/=);GSWPFW;GGU2_NY62FDIKIZ\&7,6JJTTL&E'8 S14[8.QV,(# M5%'QJ^'&(,ML![ZG^;ID6C,0.-!!\TH8,8=#/+\,RZ&\K*%,#Z!&]GI?&[*% M'M5\V/8:23N8C\D?Q^3?27DHM6U5.]83U2 M-5E=K+8G.6NXJA.THOHO]!_QX^:_R43WA-?9AIU,TQL@"];7\\::*8S$[JL6 M#H6.K)R*Q*D-"QT>47_;OJAW8Z'J"ZZ^N"MOH.@2-P>YW- M)N,P"JU C'_@Y/ZAQ,NC)YS']_CT.\X728&O\F2@FAXXJ\:Q0G)V&[T&_XWF MR"\**K5%>!N@'%']]!U_C.KGB#6@H6M55%6;"?E'LJ#8%C1?0XX*^LCS33P? M&JD>X>;,'-3V?D8)-.+@7J,MFBUO.[#(09@BU>C;PCS\MF:/QFW=FQ6;5TE> MF1WSGK?]I$6R,+@58&&WK 1T=Q] QA?T1D"'$3UUX*Q> MPHT X2>$OQ.@ &/@6P%"CG#W J0OY7>5?3?]5G>"M^+VCQ9'[%G&:TSSIY.W M/<[(Z\:+U'@NZJ>VX)[.<)/]\,:A4^N_03D\O,\C2K+40NDQ_QG%>A+ \]Z3"60 Z,389S2M);YIZ M,V9RB4'=80^B!V7+H%WHC@@C"_I&#-21 U%!WFR@7U5ZY5809O$/(_/N B-$ MK M.[)< &BQ&XFSY)T#B\31P)LX&D<;M,)XG&E*DIB<$)'O+/!,D34H\(4!:$U7 M=D6Y'X1V\JJAKQZ,YAC\#K(@VD_I>#E^)@*[QRWB KN//>02PK)&].Y!K&A& MA'.^F!GPC-I>XF7,Q^>.I[R[BJD7,4W,Q/)%+F"$2@2]>IG05N"%2Y\;^*IE M/\R"D_2'CL2SM"ASYD$4E^4#SF\?XI2;PXLL?2+K5;R\V';KFG<7A'/RM4V4 MK\_73R"LZ?=1,7X;%@!\FDK2),TIMX-H66TI*G>2V%#RX%WU!,4EL1\+3)^C M7SX<(*IZ 3B%LVJ;?2BLI:);!\;J\@<(E/5A8RP]_!%X1?A$Y#&'@5*F((MPR5O5*@+LGN!2.H5'JSRNO#%QF( M 6%>*JZHPQ8QOJ@DC,4W#P,P.#-\XSG=&Y%2S.;?[ HPAWLS?.69=X+T/)ZHGP'4+>Y_I<9N2H[BXBI/E!>XGP!4WX!]MK(&5%HLY AQ. MC!(7J^%(\^@X+A[0IIK3"W8M+ZEJZY:TV4$UQ:P0&:1MNBS(?Q<*>O4/) M,&;3'[ZG'\.&+?YG@ /4WHJ L@X:>"Y67ED9%XC^?H#(DWT<;J$?H#?@7D][ MN5$]C7-Z/Z>XQINXS!-:UZ"'KNF&_"/(&EHA>UH" (,G92*&NJ1;XTMC_I"8 MN.:I7]@KC&FF_O5[2B#NT"J#!ZQ 6<,)#B90Z2Z\ZL?H^F6!16@S[> "&^ L MYE-EK+[*\5.2;8OU,[7CZI92VGO2? IZ.](3J:Q.#:V(LXE*C=.*>,IRXG:N M),89;9I^S%D-5@'EN%+02A5@3BOJ*!45[0T V>ZG!3%;,&!/32"\>@=JNS$W M_)7AVF *@D6V]<:=+C_@XIHF[.$P?OB&<9TA]X7Q0$IBGB?Q7;).R@077])E M4A"9[[8EJ_/9?1UQ"+,F@6$(LS(!J+U\38FACZW4V2MMYZN2VPUB7O->[* * M%=N[(EDFY?0B"S-/TM M>WA"+&<3:#-;H+.A7,X#H;7EVHNH).7O.T>5AAG?R7]@T[24T2!)&FN$:*M. M4.0>EW>8W4C,'N"D:[_J"2X8^>8/D'HUIA4X+"NL]]H# _O'6+K>>V9BE]3$ MKJB)?:I,[/V;B=U;$PN?7?X5&%G(R#W%919H15]#]I#K?6I?FN5GYQRG7>J_ MQA6]2F3J#&MZ'_B&CTS5X0P*[7YD:J?? =KIB?H[X:\2] IQJ7. WO;N03C3 MTY[=IE)[H7UPFKW>QQI)'#^Z)_+FE ?OE/N^^;673KDW^]V(<%04V\?=S%#S M5M"TD]"!A55A#&$R6^N&.IP.]JL4IO%'!#1E&EB&LDV3+ &,C=)K65F/T\?- M.GO&^ ;G3X3>N*1-,@\F5'&;E?&Z^_PX*\J+K/PG+J_Q(KM/DW_#1;:Y%5!L M.USRC6KBB%-'(EO"LO7P9#U'_"[@CJVA'$B;$CWC$K5,_)H,9]]N:#%FP&_/ M8#CCV-H+IR_E+>[A2YHW@I#U[4> MBCC*>0H4[&1QLH=-H9A0I.ER\#)$*+;0H3:^=*1!=HHTM& M7A\?AS]$W4=L"[A^N.? $.U+& /#=LTNH'N6+G),YOGB&A?;-U:E=H-$ MK=;[*D/<$#EJ^J!%?%)YM$5UH6DG&%[3?JTT+<7W]'J"MJ[IBZ2M:[HLHFN\ MW"[V6-FT7EA9V0S!HZ9L6L0GE4U;5&^K0V=K7IY=,LOY3[3=AYZM\,.< V)N MYF'N%TJ_%("',[O@'K86QT79=>MQ=4I;;34NNEN)W_IQD]42E<5',A/O.2[2 MDY*ZWVI4,1+.=Q]'A9AA2U+-2'FL0\,V38[N"E9!7'QA4])85%^FUQ@VJ>*H M)"[JQO09:61+W.T:53\&$TLF&U%Q/D,9 D8BQ$8Z2;(40B)F7HT._CA0+'4H M$_DL!X<'/"J+K?OVI2DW< [];)K:7\2>8 M^ F!5'ISG]?DIP1T$/LH9PE:%ZC# WVE7!!GX]FP.=8D^W!''8VMS:@;9@!! MCGJ6P2*_YF""^)1\)^X*_?,HI;5PB:3)W1H?/69YF?R[\FH&J=8MJ8@V U2I MP'I&>K*[V#Y0ED##F5*D&=%8_@W%X0%:TU.2AVR]+!#!($J:3BCN]&)IXP-S MNC3A)_;&C' L=-+4J$F\MUD4PHW1\GYQ8EJZN1T'Z)*";ZZ#6^"^".?AI:SY M>I?(=FZ T-==N5X/:@H OU94%B"4V4#SBX6UQE07?I9I1%4<5Q/,R WEW0MZ MP>S(>51Y%S.3F=EQ,&$Q)"\Q4U :%KI)^T=,-UK*Y_H1 MB$$3$;4R9T.B'HR9Z,V\F;(1@: -V8!%5/^"XJK)/IHQ(48MC=@$]NU,6)^X MK0&;U"F/YJO^H2K'/F67QEN+#$Z_-:PE&9?%A8D8<-+0_5[?=B&38^*A^TXB MJSK 8FV5(D*HAKN])/H%"J'YST "C+O1D3RDPU2'\3IOQZEA'Z?.$02T!P>J MKR%XR$_$D)\PH?V8S70F,*53%&OGW@ MVL(H]+:,+;TG*54.G)71&_*44ERBK>Z US0JVH'U0 MW2DPG5; CUBIE<$GU&DQ!8E2AX!<9Z[4!$L0X J=J:8+HGW03J?7 5QU;PH8 MNF$%J+/:N71?*\AL$UR4]P0F)#JJ B:Q=H[VEFFF1Q2ZFTS$[*Q!*)Y$6&WY MG?9L.GG9P-28.&"@&>"$H30_*$T'3O3.N;$W4*L?(O:?$//7[8[6A#YH@7\* MZTY&WZV1-;*I1M-"(DZ3J6K:.9H37L'4U M ]TLZC]$-]L[QBPP:.^.U41:=%5@5RGA)Y*@.QE[MXGTC1+HRQ/G[S,<-+/C M3P$B+$NGD&19(8.R@_3(NKF/-2V<=F)CEK685=9 RQKF].@\9D\#P[=:FAR- ME,+R]#9NAM^9D3/(7B9+34:_3;9"O\?K+;^C4V=WV5=4J%N\25R$8NTZ=^JG M"\I)&@\MX&AC*&602 *[QAUGI*0A8UVCSH_!:(%L6,?T81H&(WHQTFE40^:& MC0-K*N)BBIJ!A>VT";@ $P"L5 RN!;"<18%V>-D6]# F);7(UV(=8J76R5?X\%J'QKCT),KR_M"23NMR-X_2M/G'4< M;Y*RBNUILI?2$KV2$R<+8E+_6)V8 X.D^R;.#)*&(+H&29ETV-FA;? W87 , M\2PW.*I$ITS.7NB'6]]72PI7ZB'W?\-+CQV OF@ZN'-K3( ' \,HO*EU%W+0.;":L@2+LY+HO(C*EZT' UNWL)^4* MA5KY[#86;1U8,HP9 *TYG4%#.HCIJA)E5V#!Y"1KVIN*QIN":+!,"L"H'@&; M:?4<[1A8#*-T) ?*I##N?<49ZS)4DYE1 FW5A3S,0*)P5/U2T#-I>,WQ$X11 M53*G2H;4B7(X-YX&9K-O,$?"(M=AQ_^H>B-:/L>4;^$$$6[=7R,W5VX< SV# M5$6$IA\ZA0F_J:X7#WBY7>/+57MKG9Z%5895NIBEY)5 M0RJ [0U%=I(DJ"H$HKH5C2[NY&U@#7GT,?K*VOI.UJ\#BLQDT/JI0!6Z=O)X MS@# F5*%:AW.BXW]G.+Z3P5\Z*^>QENJX'G4X;6D"O89VS#YCL7$2]:O4IRE M5RRW-F1]#"?,5+/&$:=;FZRFF>T/+Y MZ'O2WU<&H<4_L24M*TT&>0\ W\%6#K'RVU&.+N)'9@_J7]%7^KMG_8=!7P8* M@IZ]L*+9&A*?NC'OE#Q; 59XJ4/QPU4+KQ:J.T4-=T1<]8K_ON\8O2@?WKS4 MU(OPXF&OA=MN@9U^WR0L3@!^;PB>,U#]5"W.7@\H#+[1'%M"H%*[.ZG0D4-O M,XC1W;^M( <:"7;X8&X.H(X?-"2 .X*8SQ9U(B'J]?SWWK61:US@_ D7E=>> M;^-UP?Z+EVY#7^SET4@J9LYF/!$9_;MYP"D>H)HFNPA14SU G&XW-B>8L!RK MSR,-Y '"VU1:-$,&DE1J%B)[T-5_Q-3LE,_U([^:.BH-M)Z., '0TIIJ\WP? M=;3_:: T5(PR$/WLD[?5SC%Q_6V^0JFDO1".]EZI K[MOBJC(,#]UR!/>"BD M6C%/LL[($=D<),RX0H M %;'=HR1TS,; 4%_SKE4R!\>^>,SZ!OV>V,>#/IA]_,_9^LE3G^/UVO\_!M^ MO!L4?Q(WX%]DK(&5?HHY DPZH\3%2C72/*I^0]6/Z&OULV=-D8Q2-OU=>]@> M-FQ1.\-H0]E9 66=P::V\>4,M]"8Z0VX]8IVQCWLV>(E@$4.XI"JB91 '^57 M:C[R0 G>;B=0HHZ3:$ZQSNH@B3V/D7@AAUOFT1%[?KQE;<9&+*/6Q;WI1.\" M#EHSV.&+FL%$5\$T9S"S"U8"%_KC.LL>D_2^S-)1#UKXG+_#R',K7 KY ;C/ M8[3%!FC+)P:=<9Y MK[QEX/EK;M'#\)H/W[SFE^\UN[J3'KS7O-=WTS]E^0HGY3;W[4E:X6RYVYD)Y1@(6 _">R[P& M:^BZ [O#XPQTEE:'+V9I)?*?M)96@+Z(4N30#3VMI6/\&6?W>;QY2!;Q>N3> M]V2[>D87M[.;>J?X0\R1$AZ2R4S8*^K^$D0$W_0H9LH?O&^31>T[QG-N;( = ME4D9&$"#'<*^1'"(CUXLX#%[..4-ON_+,1HO.=FN-HKB=G; G^(/810E/"3( M%_:*^*,#M*L 041G30]HIOSM^PH@:M]1@+EA F8?I0P,4#*TCR\&'F(+:0$0 M"PM9U":RP(N?[[.G_RS*34Z^R(?_R_YZ1__JFD?RVQ^_7?1PUO[ 7XK^8(79 MEB* #6/$Q# DCZ/?SBXN3F\N;X_\(JSS(;/AI^@AYK>+%AK6'WSNE6TP:5], MY YG:PL\]4N'_^M)_K)W&V/N$L#LS=:8]2GT;W'^)RYI1KX;O-CF[-KQ\3HN MBF25T(1]QW'Q0(MM/\5K*GU;G^\S+<\'O9,&((UDAK,E'K444$L"M330$?D7 MH8(Z9 Y0IZ8AH^1YO$V8?6? 9SK#Y/N3J?F?-Q=O'YZ.KR^M2S"_!Y9%+^+)XF/W=:FP%/#5) );0DXS$4)WH&@DS3M,VB#7R#&O%\<[T1J6G M#/).K:)XQ!/4U*+ Q11.=$IZ;8 2SG(PD(*]G7N-4_PM7O,UW\5VY':!K$F3 M8F*LB>4=>C%7D-00H^1EE]]'.D3\5Y35^S4I>^#[4KMDP#*5#SRXBCYLVKUF M/LO@PR5'$-#6&WMJV>K1;W;K+O9Z]"6I"'3''R GU0A1X#T>(0]-)!R^/"2( ME@@&2/"YC& 3Z%&ZO*8X6/.4:CV\2=O4KS_>Q@KA4KX ,YR(OAC?E3" YY^]%$$=?Q1T04X_V@%]'K+ M]3--NMH+W5O-'JN$Z!3$9W5U?%7*/ZDND];4)4+TGI]1T6PK B M[= 3;1AXM(+9VQL$)=@"$/BBJ( ?W*50R0N%>P%4K7 .-7.S5I[1X@I6=4:1 MJ^?L!%K?)@ KKBZQRW0$:C(8E!RF-,D_TB7-!UK-!OMWMQ-8(0$S#)A8 J@I M0Y$[9%Z!%V2"PDDEJ"ZN=PND&G&K66NQ,E+['6:[YS;*8=[ ,*T4Y,4ZRXB; MXM.61O[^EJ3)X_:1OU)QLL7'VSPG?THC<%0[CT;D3'<&C*A0E10ROD*!IVJT MQ22ID1W-C& M%!%1&$=0N-;S-+1BT9180P&<3O[4GKTFE"J&%[G"Z3Y,4F?I[;?LGSC.Y9&B M&OWUIJIN_SFT>BCO+!/6#EMKE>Y04Y^V#NB\17>525_$.N^%*1@!F*XU$&)4 MTQRT=+0M@C^8^YB_>MP!\/WESVV./(Z*8OM8K16OD^+/ M3SDF\A'8XJ*\CDO_&T-:@CK8$M+@#[$91-FAZK"KP_ 49:(\D0U4T2Y[NDV MD.I'!=P T@<\U-:/*F> 31^=E]P#3YIPQ7:^](""MC?=H3"3HS&0>2Z/NLL8 MPL=HZ9EXU;3W?OG50[ 9N"=B[_$'QS[WLP]<)9 !/ M&P;*^S'K?2+*9#7I#0CHSGD= O/H_D#BF6:\+E\ A6_)&37=#F.D; M"1%4M2U$0\C 0/B#NY^9;I<]).[Y//?+:T2P_2P'@N%]F./,)C:SV6P>G9YU MWH)06LWC^;U0:&,MME-<;6V=!Y*:1(QHG#!B=VX[H>*,EO\6:<&">"0 /YC"(X&7.)Q[$ GE_O&,#-"UDI_NEJ MA1=E\D3\SD7VB&_C[_1,X1I3$"3KA$EY&N4J6.%T6EZM/68Z3 M^_1HM6+-\!61C\;U0&J\$^'$JNZ 7<3;%RA.EVA9=Z$*OJHZH;CNA7Z,23-Z M=X5V]GQS!?I;#%7<'?)ZN@W-J%5J%Z]@EP.@\@PNOZ5$L1Z2#:<;W[-E)>-Y MG.6;+(_KW,S\UQM&LY'P!"^W"]I$3YW%RR$W@DGR SC@%]6KJ88J:LE6VWZ5 M1G0]9Q& _EI#;7>(S'ZF 6A.G=P#+E["VP[/"5XE*?5' MJ$=QMZ7R7!%U.GW;%IV';*\35R1\YT4!@F,&"XJ>I;(CVIJE/587 MJ)!$ "E<:0O= N,44/M.H,=P$J5.SUS:\RC/J4ESF M-SA_2A9XI-:KK G_B.--K,R#C"O '"D@+];ET0X1_[5:I?,G11#E.Z6CEJE\ MY9Z"C#5M83\3 J#,OI"V'@"HB7Z)$!!:27T0^+)HQ5&ZK$=CM%KK9+M=VS;6 M#@+>8OYP5FZ4QR321WJ)P!Y$.<[I >UC?G+L>[ ?MA]@'QPFQM< :"[#\ODL M+?EQ,';;+([N/=C($=U M_X=FX,[2=]4S%)?$O5RPBCSHEP\'Z/#]AU\#.(^;XXL(3NCF!334)1Y="0 N M\YB\M)MI"=CU$C PF)4D3MB+F9>F'#*CF0FVDLLE?CQ:)_D-07B6%U41 MLGZDWU2[.K9/W,XN=&J*/TP::QD;2724L%=T>?H;:IXA_C"00F_38YHI?_Y^ MY).H?2?6:6ZD@!6^DC(P0 E+FH\?7S1.Q#%R%DBQGC;%E"'C6N1<3 !S^$/T MM^3^@)$4=,_XEQ,VB1Z>O$3LB,Y^K;!C=A8KF$9O\&-"O@*=L;-<-H]. M-ZS3+$L:VBU-)R6 "-Z4,9$L^<3=HIUG@:%<850S]>_?7_@(.W16*O.C!2R] MB)R#"5C8@O[%PT6\4K8"C'UPN9@T<-&9"4Y&T#E\%= 1!D;;00=T3CU+BPUF M<5,WSP6M83HZH4ZTXN\G;&6%] G>," 7,Q'C6]0GNL8;\D;L;EB2KK+\L4IR MM,%Y&2_H)\:XTQQ0'I@%[1ND>X&-<9W \92!-%R8HL2 M+V]Q_O@!-..7.PD=W+Y18>PRQU?-"U%F 1P2./F&@E,!QU"&NKHSR1+@]H[2 M:[F8>[JA.GH<\U2*YTDQ'+1[<-X?;.(4^K_<9:=4Z=1K]NT._\6^MVM-,-46A@'WH"[ M6)6TB455-KY.%U3W0;Q3[_@U"/4S!EAF.^@]==4ET^IQX""'(.XYI![ [FUEZ/-$-+],6(.B'7B,/URT@%WMN97L=[@+7.Y9H2WMWK3LJ7G M[]F:D%DGY7.P>>$EHLZ4&5XHP2S[1BW7EY8E^TYF,SSC>YS ]70$-U'PZQ<((,W0.>PVH$1IY6]R$95BI5*.7 M/7N&Z+,GO$^4"^T6-7Q=:UD9UJ;:@;U0W0B!:%L9&N.NB9YLCTU4C>JZ-*/F$%9HP5V!BCBAGE5X2XP,O6U#*H")94^YTDRXLYP27PZV)(1]S; D\Z9>.+IT]"T-\!6:W:]'4 MMC $S85VN]\<6+7&I7%BMP>L='2KUWE"L\)XN,9/.-WB"UR.)U20M:ES*8RWL8N0 MD/&%R* @H"\)11CM$?%?0@D+E(]7IO1Y^T?H8VT[Q]YSC3Y83(N0N.;@L]@1 M^@#Q)P>(/'L!0!!'4QA 8?9J^C&-D\$#?@KSO6P*Z2D) C@"D; M)2XIYC-LWNZFA; (DPQ/-OU!^_5K!@T[!6C<#S.4S1)0UAGEG5W3_1UGH6W2 M&VGK$$Z5:F476;JLBA/=K3&-Z$H+/!XE=IP5FM4[ (K]&8AG5^Y/F^%.:.:B M&YJY;]7]]%Y]J @NX690X4^/E5Z-/_W7<*[(QP\TAO,L/<$KG.=X21H=%04N M"QJV685YKM?9MYA !,KBNQ#+3GOUN$4-25311*0]BWY&NV0/4$68UORK2;.V M%7'44$<-^8.Z5&#X>J_QTN:!K&;.#VBF?+'[VF;L'VK M-[/C!&K6DC,P@,GNJN7%0$-HBFW $=9!8%O.]4,/BRI-10> .TUA3V=&I%!1 MAB>O#+)9]*P+,[2*U8JZ!\XN7\H\?*(@(@(QQZ>$ ^IN1$&53'A<#=W3:Y]F'WWDJ,&7ZD!="363 M ^""J/D'<#9#.HM=Z/,PFQ['8Q::?0/2Y*5,E.I!"MI3I=_@!/?%P:ZS]?I3 MEM-._:@'+\SK<(J9F8=>B7'D2T$$@,PMN-=*C%U1('RABC/JL$:,-RH)\]93 M:OB3/ZOB?V2I4M6"1%^I3(@+Y3M8PH^^SUG^46QOK/TB(R%F+0.YK_;.>QH? M#-X>&SR?16\#,'G^TI5I%^J%S"8ZK]0A%-H^_"'ZPG]!!3,Z M+][*^"^H#;[-M \%M;WE89V4]'ZGOU2C MM?N-Y[19(J68S63M"C"'Q1J^,EQU#W[8>OI]D^4EN_30[IKVS)U*4SX*\J96 MYE9%"@"/:X*-V*Y).T;-[1K,GJ."W;G9!+*5KS3"FR+?8IN6^7-UI,C_T3]-Y#__0<=Y!Y?M#_P=Z0]6 M&&\I LRDC)@8J.1?9*6?4*_YAJA",+>/.U\U&WZ7'IJ^W+28 ?CZ4#,1IR3[ M^'16^7)Q=GMZ@FYNCVY/;T+\ZL+Y8/>[![PY^"G+5SC9J]7\N,@^%O1CDLRX MIF_8O_QE_>!+S[FRE^C(;(O[@0QSK.]'7]R':W%QWC.+[0_UK9]SVVL;YX"N M!2,FN8EQ_D-T@>G')@V6H3@6G6^:#;]*_P[%>>>RA/VW![L;GU^=''BV:T8_^;BFRL[7]W:K?B2YGB1W:?)O]F5P(\XQ:ND+*ZKF\'$ M %SC8KLND_3^$Y'V/-X4^')UM-FLDT5\M\;4+=Z6Y*?SY#&I5HM@R1AG76 FQ>!VW)GT__I-L\V>#1/F? Y_XHCSZW,DY ?P P]1EML&X:MH\HA MKWX+9 (7CT\V^4E[BC!HU\+8^2A#32'CA#4&F9KO%S+,0HNG,]#6_L:0(O"^ M]#@#G2$_?#E#+MIAUAIR3WO)QQ<] +4_U+>6+VQO7ET 3B>,F.0:U<4/T?%# MDL:!X*GS-;/A]^A?J##"3DC_HWGH>(N$$X?\*T,O718I%OXW71 M9"?YE.4GV?:N7&W7Y!D%"]B*PY%D8E X81B-I/(KI3O6UO_UT+OIC>4[P5WJ)J!U\AKUT5U1YO&B[('&GP#=:Z(S M"V!_4.CEBT%=)IA;^(ESPWG% 4VAT;DGI98[ WVM!0GAYI0?O<_\:]+8F>*L M@O2.%OW:OUF6F_]SW;.F[0]\-.@/5I:YI0A@*1DQL>4BCZ.;;%L^H/_)8II/LSC*DR))[T^V.?G_Z@#\(R9K(IIC\X]?=(9SDQ4))3FQ'^U Q(F] M+W".T56.2[+:I'W1C[3W3^BZ/0 C/U;;:SN,Z^RUO#V9[MK$ME=9SB; ;(5: M*0+8C8/]8'=L1A.75VU.$?Q%+8PRU#N649+:8KD/_Y_+Z].@ 79]> M??EX?G:,+C^%:(N%B])=:^PK"NCO5[W!;'_@\M(?K(#14@28I1DQ,3+(X^CO M\29. YF?.U\S&WZ/'B+^?M4B N"K0ZDCIR3[Z%0=_WYT=701XM<6:N#N]W9P M[G]4)+'XU'_XM'OFWWUJ[Z@->4&=]^]0GO",.FWYB2#])1!5%8U)-O$AQ^;] MME5OSG8UJJ#G^SVRRH/:GNWO\;#*3_45!A;F1+]#S\5Y?H^\^A ?OH0AEI[B MJPRQV0F^;*KXC+/[/-X\)(MSVI4,GGCBF&K;G4;$;>TQ.B4'U!0CX3,!7&%/ M#N* \#LYJ)G6MQ]#MJA/#^<^( ,Z?TF9&"*FG=O:%JAN\@)Q))\&+9$$,T4* MJ;N8,*7,3#%U^,HP)9UW;3%E'E5G5F-)$M0M"08&#/)U%,6M',"]&[L=5&RG M/*Q3(59[/)13.GCSQ9#P1 5G:5(F\9K?9J":4&WI'F\?MVNVX5OM^-_F<4J/ M2K+TEMYYZ&$)AMAN*B!C8A#).BS?!"0=C+D,DTD^3$FWV8@X!=0AP6\ZHY8( M/RU"+1GTE1'RK-E <.WG$X&!?VT][(@.,I) J9/%&I6N?8_2)9N!1Z<\<0/^ M;<8:6*F[F*.="H_2%:OE2/.([8V0'U%(JTS)"&73W[2'\&'#%K4SC#1HR6D! M>9TAIZO#%S3HPL6?WK#;ESAV<(--X_):_][:GKJXXO*YDTZNUU#I"_+RVSRG MX6\LU+X'$='C.GG%X+%=.@4!-\O4"D.JDC0+_<;1>9;>OSLG\_^2WTKQG'A! M-"+9U%?LIV3H->LD:' [JHI&YM=J7%-54=+J@TOMS6U6$C=]30=YS08Y MWLM!%F?>4!YFZYED9'("WB44<-#R(@Y?EAM6V*0&IJ:PQWIC\@ M/;V9[MCJD7-8W3QD>7F+\\?.H)A85C&@)CC(+AE).D;LZ3NR)GQ$.W@*PM** M11_B2&4$!O=>1%VZ]U-D9+U9XG-<%%E^N<&TY&=Z?XYC>M4VQ=_B-16VAU'% MUO7GF6IMI2F*L@#L9$QS$BO-5-^(_8+P]Y(&G&*8Y+#T-FNC5JI$NIN;5)(QU-$FA=4>3I*VM-4E!%B!-DG.2:Y*L;\3_ M@;+Z5BF;C$)2))4!SS1'9421)+UV%A-9=X(L58T M(4D%-MKP90%+N*\ !2V8%..S7O4%S30^O^0A)0X RCO^ECI@3U,'R!.2OYKD M 5Z/@,8,-+7,EZOC+!W+;J/>0>*P]CN .QCC$CER6P?,]/R,7O>(1PK1-&9U MZEWJ;="]>N)EX"H'5M#.K /4K=#CB&)W[';4>YZS(P[E[[M""<;V$D]7.;3 M92M4-WZ)B-/R=$EA1C$EA?L!>LZ M?^(U7N#DB<8[RK(LCL -2G;/Z_0"_WJ2C$.EA*@.L(K"8TP;V9%%'NB7% ZY\ M\_BQ OYRBVF%LQ*112':INOD3[Q^ID-XAZG_CFE- MK#-/2L-NEP4:)RU_AR%V5(=E+#&-L%LO,XV4O#<;>AKG*7'(BRN0D\1\F^D8\#_N&X*6@#3P[$HH# MG&F.0M_%D/?J^!N:$)H]RPZM&UP?C_XC*1^.MT5)QC._Q=_+CX3]GSWLZG;; MS9RCT TB1XZR="#9<%2X3>:]F2929[BIZGTWQ]_?2&-4MT9?:7O$.H21R48= M*/V<-;H0JW53M?L@#XT^.(/15D$Q-,U>:KH*5'9,4S:GFJI4VTN51G1]^OOI MQ9=3='UZ?/GYXNSV[/("O4.WEU=GQ^BO[_\:M%J*(U3-L*2HE,-(4%,0SESJ M\.-TK.K'?JSJZ?]ND_*YLSG,W.O;ASC5CF+M:59((G7+(7H7R?Z:@_=74#># MU]E_>K9-[]CU. MOV_P@KS";?+(XF%NR*_%BJS(FO2]'\8W(\#([NY6 )"%V,X >SN ;7] D29W M1>R9=&_>+?$*YSFQ^$2MJ&X\HYSO?6).J0WQY65B@]A5@<-V?]L%6FMZ^S+6 MY <;-X'HX^2>+FBJ92VF]D<"U(W:Y\U&@#, H4_A[A0 )FV&;P<#+(E=(.\2 M^(+G$"391B713NQX%L22U7Y\19+F-^@2/> 5>X)P7P+VZJ?J]; M&R=)$=_?Y[B2]G+%7XK5$Q)%/&GUX<.@V,?*8&G)96>+5%F)S8P:A6BW&;4* M==!359T+!1/>I(>*S&C0>CJMU+=56#,,SJ>+HV$=M!S"4;H\3^*[9$U\ ZEF M6E#@G]:(@I766LALI\-FC,4:;4(O&H]:/*C*NZ X7:*F:W :;X.V#&#X>]; M@%)K&^;'O9(U MV,4^=H.6VQ3)K;Q\FXOEGC(7F^F>IRVA(Z MHRXF+NM=. ,5 (6G*7]0B]R#[J(VSU4E)F:0F]_6G$2"/6/8ER$6XGMN4^QU M":5?K77D3JL=D::TD!D1RW)#-I+;EB RY"TK2V1$,C(NLAS C5Q+\&4P4!@4 M/S(AUBV(!*(,(=N1T01,MF2,;0E(1A=;Z>>V)PH)DXR)FMN4(-(G60/1PJY( MTR*9DK.Q+0+EF'.CETB48S):'W'Y#>.4+R(^;Y,E79&=I97('S%9HV'B:AVM MB+]^FVV2Q5_?_W4TG2HDR6:;&(*DY;H<[JU %NT@XLA6] ,(FZ$R)(I7E9E MCNC?K!6-N@DDBP0H8C,7B!EL%-B3[NXC.-"N^4P8SZ:5I/M#H)Z'30E2MSDI]!TGF-($X>UR\OC=TGJ3XK,2/_5T0.(*[ ML?!6!"&": #>""X:UTZ8R<@9&_)[$;T+ <]^X L49UCS=)&:^I%+7,QUE1GCUNXB2G =OG6=%W:K7Z MU,JMUL=.IW7DLE1E1582#5:B$'6:M0GA:,,#U#9%M*UG;=7"1&8T9'W=5.G; M4Z!L#H];[L@"N5V0/=!G,0_B2+=5P4R2JA1:5H4LT[?)^D[-[*6-03'2$>W/>:G!^ML"=X]\<>Z"JF'1;? MRAPM/0"*YLY$OR8_$9C2# J]2+Z7._V+T>G ;#&HOW.$O#U0EM)7&Z/[EPI M- X.H>00HQ=&0N3 ME.G;A &LJ$:[*W!09#(=%.%.X(.+UO F(\)#F8W*J;O M_WD/J% 87:5+$\( "'$7M0L2/LML\DN_M[QBWN7J"0/7Z%$7 MQ53I85?K4ETFRQ*62HPDE2D5^D?M]?JZ&?V;-D3$2^1-@XC*UL%"9C!8_6*1 MTST[-2 -4!>,WHW7K=7IHZ9[,)5F=>1RJG\JM6&5**CJ8!!1S'JX4-5#>=E6 ME;[*NN@]\KB6*\?+RR><$W'Q:*C>9+M>&>B1=B UG87\+;5+0GZZVO*P5]1Y MA#+RC.(&![*K/#V6@SK(4\/>:(>H_;!"\31"O&C!47F5)6EYEJJH@J3Q4!]& M&T,IA402,,T8YZ&D'F-==W0D+A%K@8CQ#%-59&,]IB_3V!A1FI%.HYJC@B7O M.PZ#G2#YKL-PXTBZ\W .%+VF*HV3'8ASI=C-RC4XOD.,TWY<,CUA/[RQQ4F"$S+^!XW?$:3DO6U1;L?_QH:_:ST M1UL^.T7282?6*'4J4=NTJU;CF0(]GUSI0R4S'L6>SBGW;Y4O.(""GJKJ<05 MZA\?&JQV@/H*$"D\$W*)2>NS575.6KFOE]F"Y:9E?2V!*4]4K4.G9T3+!SR5 M=^KG5X!;4;IDI[CU6?U< 99";F\;G $+GV^8DP-JYEN^4N@*/B)7I#KD 1G&) M8K2I-\O#Q!/ 9KD*LBRVR[V&Z+DK0?([JS]RQD,5PZG(;BB7\[+LVG(%6DO+ M\/L"&,"0WLE'62U=*95+"5>$7U'%8%,;,4,1+#OS5<]2TKXTY? M(<4<515]-LACRKZZ$?*X2>:C6&7"6JY5!<9 M*1]V#XQR8L6U&EX'Z(YQ0X2=7[OG[C,.#=D<:.[9)GOC M7/&NFD+W*,CS:?@($-TB'N?Z,2#N2G=&ATU([/3! JGX]T+N@ABUI%*G^S6E8I?[QDYVRUPXQLPEN7$,:4;=CO4-=N*@=_JR#$X%_;'I MWF#:<_8<2P1F0'#HY]+A(BO) MDF2QSHI!2E(X@FV,N#5!VRA(H#>RCBJWET,:*VE+/N*3+]TFJ_9PB4GIT!%% MI"-&"A%:J"'F/;82"L49/(Z&L9B6A'>"-/==VZ!#Y"'$<:EV?"NM5CP:N/Q4 M*]^VHWR"*&;TC2E?G&.4$@5J$]" %@98PI MIW=WE!7JBH,Z\J"[9]1MQV5"3*@#5(F%.G)5ASC$2L4IXJ(U801)O7P_0&H! M"&]1!J%'&0@M9C 2!AAG\$+C_LB4ML))N2533SA!?R9".8_XTQ,JT*G>Y,L& M'>NG^4(^9GDM$96C_#C55Q7H9V079IA_+>R5^ZE71[@YYMU79T?#7R]IOTWH M9G3>E5)'LM>^2'H)%MK#\FB?;;37A=$E<7IB6D/F').7+#YMJ8$.#A,"-A%K!M+#.#(&S&7A)CKDXL($O[+TQ+V9I@_[ZREZM_\<>CZ4=SXUW^%M MK>4=:E3)_P_ZC_AQ\]^H_7DOM'X$/[I*+X2@ILZW=+157H+BF7<][Z;]F[N^ M?[.SPWNQI=>V+U>L:7_Z=\FBNR,)SL)^7>SHK0'6N/"23:Q7H1E"K#U[YW ' MJ.+!;KDQ+@$L(5TI3C8'4,<6=\"L>DLUUT9@/LM,ZQ:FBV2=\+M/7](VS\AM M_/TC3O$J*8O3[_2R#YEL>"W**YSSP,G;[/1[_)BDK/DU)I-06EQGZS59>-*W M[EFMN=AQ2+AG9UE=;YZO >!'SB"JK#2?8^;1+H8:VY'*"&#ZHK ML[:;%NG!OZ2ODASM![9;^9M#";&^F#FH!NV78K!@9M:?3W!Z#..@PY M0^XTT3.$IA>JNAV@JB/B/6NGC3P@G6FL%.V.6/^]6*T"[U$)M\[GW:6RCK74 M7B7/C/L>8\"M%P/4O^8-&EO @VS1^ U-6SS@Y9:FU^"34UO3_"R5)>Y@=3QO M\??R(Y'NS_Z^#"S5>BL&BJK=[@OLNUENN( )(]EC >(1U82HIUT[T2TM.OU. M9A7B%781I8H86<]>-332,TT)C\ALKR-:TKL2E-!4V[A*D"FJ*AY MSKIA\*8C-Y)M -"_C:Q/JW,3V4P04/3WN%US7I_)VI/RH[EH@)+<&7)6A[T2 MP:CI]8Y _!V#>#>E'.N*ZKZ(=N;32EC(GW[9:>#KC/T$[J=)B6&O)H8W[_=H ML:"3%7'6;\HX7<;YLOBR6<8E/GS_X:_O/XS6 =7J4Z>S4>MCI_TZH M8@=@5T7*'"TG#)::Z>;+*YH:Q(L7!Y.#4^C]U_M?.1>M-O?^UST 7R.Z'OA&1DH#?$UO-?#M, /,T95GR^VB_$=,0WCH\H16 MB/F4QX]]X$XWK'-J21K:9>^9E, R!Y:,OB3)CKA;Q)^A]B&B3Q%[[#D)SO1X M9NI?OI^R1MBADXI&'2<6^/Y;-%4A!W\9>3HW1Y>')#'(LL+T87MG>$6V"FC;HEQ-$#!PZ/$&\72"SA/KP9]HCU-.1 MR7ZMJNB#;,X02I8NGA8I./U._-\T7M?IF8N/SY]Q=I_'FX=D<93C6'Y6"D"I M"7RTH&09TVC]#B#ABC92R"(1S>FVAYZ737%V]/$9M;T0[>8[-- >@AD@%@8! M?<84N[%ZOI1#/./#IE64LS'QY.AZFO_\S-,2TAKK8F7 MV8+="V=[A;I8D:^$I1WE?O_/+P(ZHB6O)71LZQA-NDIZIF8:06H,+7QG:GN4 MO6?/V'+A/@N-%*0#;6VRICEH6:Z)*4Z-FPWH#E_UDDUHW4 Q9VOK+O"W=L>0 MV-24_+G 52*4_/B!7LD[2[LMDG21;-:.BKK!2"/&+ 3]B!#I;,JB73(HRU%% MB(9@[C3CM-!72@TQ>VEA3;M4*1$C+-7Y!_ '&LBW2Z.3( M9HJ3;*4NZQEU'G>+D89AT"6RCRVR%09CL(P6]NDNDZ6$@\M; !LJXDK >1,8 M,(O?I!LHJKOL3ZSA6]8!6YCM?=X!K]>-R R5;VG "PUNN8V_X^*XJA\Z#+*4 MMVL#*T7M;",5Y/RM RB%Y*5A"()>$7]41X&QAP>(/_8>@3 QE)GR5Q_&&8RW MWXDMF!<@T)%3$BX&2*%3 \=(27]&F_B9[G7O/T1DD5#&(/%J*Z6E7R_(UQRU MG)J]^,=2[N6N&WZSE-#NL;-&GU)9[0/4=GC9P#0KNVT!3=@2HH)$,A>X/.87 ?#RJ)ZD M!J7).>CMB/#O9DK$2E'M)+?36F/>8A4V)!D)LU$A>N>N[8OBHG;U6UWWJ]^6 MV,M@D-#3?3-BK2G8(UT 7858B "M%-5A1HF^W'Y$[$Y4JP&UY5Z_:4!W_(/0 M >O#!T.VP&$S%E* *\(AJT*_3=DEP92HQ+8[6Y#%/;JK9XLI1?$%94T3' M)9XT!?2:BU@&95]1V1]TIN&N_3I#[93X9P?400M5J7041ULU5.#O#"@S.3W& MCDW7>;F+UZQJ>%PBG"ZI#7_&L><,?#"8,7 ]5%#CT(68STTP=@4TIOM@9W,M M$.G/RDH@ IU=?\L+5IM+=K%.VH:_FZ"-%=JE?.UF4A%I,:['>T3D9\1^#RRT M4CYFF=(G[L%VM&V+V-D0 #I%BCEH0H%.C+]=WZ"JDD;Q8L @G I-X& ] 8Y3 M!9[[Q$QT,<'B]3;DC=AV_ ,-3EUE^6.5 &>SDWM_@!W/;)W;:L,O723%2+A_Z%U[\4=8[M+/5\2&X(M7>EY0"QV=>6 ->_C>S*3/!;TX(5_6C;7I+^MV MV\#X<&-\@99U/=(*?MM.C^ZRKGH0FB<_.F9#KTPRM .?K-MVQ"=SC0 WR[H! M!TTH])9U+P8,T\LZ#3C +>MVJ+I:U@V8Z&)"OJR+!5.2*92,"4'8 V%UE=.9]G'WTDC[N%_WF57VF MDMMBFK0BU@&U/R'>95B/MM/(]RTQ0T1EEL/ES3@#09N MZEV(X/V&[I$!]X1O:P='EQ^PZV/"'@[DAU4^^+1_G3?OC,S=,XI31%XB*9__ M0M9>&2U22IJ>)#E>E/0H99LN2>\8%4Q?VKYH0\3T[%7-KA B3VPVA?"Y*?]; MG/^)VI(F-S&SD^HLFIL;% RT#]A2O:=J6XZPH__A%!YJ3 MB5-,)= #[#3%+GZ+IA]:[-Q869"NK (=[QL>C"=>5 W3R@A0@/@$+3G>%029 MP13#[E2JL[2UR;VBBO?D9Y8XBU97Q*R^XN,8YL,#-9QM%F^#.K'.$.E5%Q@O M"YH"F-:FNUR)J]4!9[329BW-P*I#*JK;5S6C:$W$@JX- D2KSIL-,6LVNL,L MKLI$=O*Z:K&V-+/?625QEHWY+/W'0[)XX'G?:$4I3&PZX?L1TU06)UO-%-,* M!P$&[&6V5Y=:>WA0L-.#QXH"STY-$QA^HT107%$A:]V:"KIC9-!RB_EZ.*7G M#FM4YO$2(S+5^#]@T/L<8X;;$!P#"ZY%IVO*M06851L@L]&:\(93A4/J94NQ M7XR#_Y5!7'CN-A?$0<_J6@9TLCG'19'U0U-D39I"(6--++.#BKG:;;L(*,N2 M@(YTB-I?*T^H^MUWRD_)4&4JGW:0XG/8M)O;PB8+W7 M"!#.W?H8 $@-/$(4^!A&R$,3"#L7Z?)12'CV BTP(4[]JXT)VW4*C^Y.[\]Q M7.#KY/ZAO%Q]*3 +Z 0U$=. M7*2]6MQ,$O=VRK4KF2A!UD0K_E&$K0#5 SB'E9BXJB9TLE U#Q![K=X*&O2UISJ2HNQIB86LK#$9PTII.TJJY.A 082],IFFE! M3*?MW$LKRZ<+ DOF3A'"XQ?B3[\OUMLE$8(7I+]J+E7>9J??X\@5HHT8DE3JQE2C;M=ZDY88@*3MC1:T._TQJPF@ MF/Q8T3B@6[I_N4K_F?Z6GMRF?R/_N?D+JFY+'-#_(DS&=;,F<^U?KC[\\__\ M]N&7D[_0Z+[Z@(3\220@]F)%LP)3+BEF>89([^0)HT?"Z('8'5K@K'Q(2%.< MHF7\[/L3-Z'4RS9L+9'?VS7@1A?\]7F\QM2&TE$A!HT'( M(P8I,AJ7=^ODOKJ2S;:U+[+R)"D6Z\Q!6"V01)*#<@@&W>-&KL%4[^C)XQ,E M2Y5JVQ*F;6K*1*4;TO7!3(Y1FI5H67/P71/5^A.-G,,#(JU_.F]-NG-F#R*F MBRT AWMCJKEYQ;TB]DLH.79MMP 4-\#4-P%\UU;BU?]N2C*C$\^N^+)9QB4^ M?/_AK^\/1^^Q:_5I:RZI]+$MKZ,NE]TB5)65M-J. H6H4UFS:8>JAHBV?/?^ M,)#+T7JHR(P&;5BE9[KO3L6>,# (7>Y)D:,E&*DE/[KY\HI@)RL/!0X\V'PD ME:OR$9??R/+L'P\X/64WO6[S."U6.+\BWRXA_LCGC"PF\ANU/%KCFP;1#6N_F%,F4+/LJVWS>$M=M<&IIY M48#1]9]CWOTEXIL] H\AGT]HS[:)NEG<.MUQZ_2-VI?JJC8-/*^L4XPVM7VZ MYS:F:-$8HT770C$*= .J^7536ZF26JD>A5>[B?R2#:30FWV))M+OI@H]D#][ MW,1)3HW:\4.MM$T,ANC2KE;+DQ(J(M67R.=XFJZ(?V >)/ M/*\WY<.6J7WD_GIRM'%G 3D?#&#W)L0L=/' =A\8(I(6$8O]1X1XC\$($_87 M7F>QSI!7JN:3V+=G>.C?,WQSS]SKQ&MPST ON)VN5GA1DG7%64HOT-& I;C$ MNR%0G]?97;P^(TO,]#ZY6^/S[!MI5W7H&4(H5U0^>]9D 8UB\N$$,TQC4>LG9ESI MKXO)EN319EORG&R;S?J916Y2WJ1/428+M,)+G,=K5) ONR5:\=PEF)-W9'X! M67W3?_-'/](L(S]55Y1H<%B2;BG=K"F@P'@E"W:1B?2N/@QJOPPBGX8%C58? MQ_/*'$PI,VC%Z)EK6[*M)?9L. @=8KZI.A?7>$TX+V^S*B\=+6O_@-@-&(# L8DHGI3DT*<%AU9GEFT)L?\+/8; MSW[?)8D83=[%K_;!?)BA#D)CK*>+,.1;C803%\[Y.4L+.LD0%L3W^@V79"BS M^V=9'0J-'OQ[*O6P,C8:,@$L&=6XB>V$2O^H;<1\@:998!4N=-"0&0Q73R45 M>K;Z%@3NH&8P5596L*-SSRL'GG V@(:>]5Z;"@_@"'I5EG8@/-0 H>=UA3,4 MBK9SP%%H&U)NN\R LH\@6@"(HQ#92,SR*@.O2--R#*9#^Z/G\_.;\]^^D^RZL+)?8I.<,YJ M+G;ZU"WC@IZ+5-M[GK.?!ZA^HLDJ(/6SSV_PA-,MRU9T^IUH1QJOZU.*N8J2 MVHH@RTI@0SGBW:O-XII $]&Z'\5++3[!4*% P#*X_&],LWNOWTHP%W]IK>6O,,2KZM"H75FL/\_4S<4. M>2M@G31G;/S8F:/\\S99TANU9VDU>WS$*S+1DY70T8K@YS;;)(N_OO\K["X- MF"QB? *QB$Z&1Y.U(:])T3C>BAAI0JFQQ7A,Z2%&$!&*@>P'07R6H6; 8JNG M/Q#$6RV#$M5.%S&1(6=97ZHRVN2/^K?3ZNBZ>ZQ!I*ASR8R?>[ R(9!3@S,! M)0KKAF7$GKZKJM4N.L\]ZZ&#MQW12ZQ[=KZ?"UQS;*9T#A8(/=&<_NQKS3%[/; M:'SC9N?7+R$7;5QCBUAGM7K-G.J M0SVU%$-2@-R&<'2S?7PD+@^Z7*&C_D$Y^8V6*O^([Y.493(EJR-TFG;R&=,F MGW.JI<(DR.C''[[^4<:ZBD$H/J5RHU)=HJ66XGE[SYVSV#0*K;E M.6Q?,RI.T:C\J1)R_94WU@JO6-;RBJH/Z(Y;M9WBD'$T;=Y3#E M$36$WI&?WM'2J:BBM5.4O4.N8]PZ+LE!O7% B(;EE=C"7.B+P.B/R/\PI"[V M.O9:,17=CE\KU4SQ/26HOD"PDWX8KJ?M6W[FVX0G HAC:4Y@'O M\W8=3@5I^W$=SC:R;YS#49X36+,:"1^?VR9198^X8*\U\66':[_ N/0SBNP9%D_HQP[A]T[MUP[_&B@8;<=YXD8 MTX/:D>[P18PQS522UEOL!ZAA3OYD[#WO"\SUE4>V$>;7C/ZNPUP2=#8IYGQI MPSV-HM[4*/#BY_OLZ3^7.*GV,\@?_6T,\M,?MWE,]\1NGA_OLG7/"HX^X^/0 M>V;G!XWQL;S5WR,I<49V6D;\GZCZMV=O8/3[9]+/UI^9NVTZ$ZQT])R!C;O8 MSZ??%P]4:2[B08X<61/^;N--[&9Z"5?+*7F\I<;/+6\"#7*R_9J4Y^H[++2;EMZ_2@IDJK2Z56> M9#G/>8>^TN?>[Q6-#TTV\3T'MW]V6G5O],@'US4LJT]_N6(?OOKNPGHE1\M_ M;8N2BCJ:6 :&6 -Z.V*VEP4!WL3ZMJ"=#-+K@C:DA0I[T*F,,ZA711XVA *Y M<@($V P6-L-[@Q9$=ZX.0BJ4![MTS!S*L[05FCQ,%\EF;629#,C);),6.7CK M9/ V#NR3GA2:%DJ'N,1&563HU;B.M6HH[8N9,D&OW%"9ZX/45&F0G3!6A\QC;T%UVJ_/*,;QT$_!9C"ND$< /]!.32559@X7V7PRW( M&^'DB<8>R"K@"IOM%KT=:0918U3(W3+:3DQ]LH#HL%-=P)8FP:T?!3*K3@YB MOUCHU'#76B9J/B@(ZAX8%QCV\K68@PXVJCXM-/+FR0%*<1D:+(BX*IC8^=:3 MD* 1:!(\<&).[(1C1.A4'![K]J)-A@9"5(V&UPF3Q_UE;V_=$%>9[5@//&X],EVG.FAL R]J#9C#@;Q*"<96*W2YN:G;O38,2]:- M+/=78_N@94:\P_Y%1CN[Q\2I+834*3/"3I M^.1=(_:)!"W3W&H,[T!Z>?BDW;JY.)S":5/29J4^)PFT6W3L%9) MC>B*!/(*@P(K,:8F.T MLFF!7OFA6>_CDL7M7*Y^B_,_<4D7/NT=H!Z*C?OS3VG0WZ[:JJF\=M;J2@3O1L_LVHZ=F[.>RX\:HRNS'O!^45!=.IT"GZ%C''1I M8<8=$.PL T9N,.5'M=:6AD@V?_'B&\#H90;LM$=(:L[0I=#"DJ%Y*I)G:\,M8B/&G5;MB M"L:U_3"BI5>C(@AM $[?8"X#L&+0N;(9%0+\!7NZ=\5;7*'>JDH2-.Z#GS_' M[X&>?E_@HFA35E5)Q@RF5A/R&K.N'GGG)LCD;=W/U9I2V5DK+6::,_QI712> M4_GI8/P>?'N)^8"GQPO?&AHIBI:AM%!%'0NJPT;/N.ZQLH,NUIT(-Y_6[Y:( MI Y,3A4^[RE\U9D]QY7>%^C'.YY!\:=J2PS7V:<+ECXZ8PD(2/,J^W#!=LMH M+@(:NIZM$,T;GB<+>OI>==BF-"\F;=5]Q/*MO%D.6Z3OK>WPZK,9Y^7@V3>( MW[G"2;DE$#Y*:6&-A&?:/TNK$.*>O9N-7WUYW#T_/VF2=+^'I^1(&F(Z2(FD MS!TB$5*3ZJC#CAG[#D-ZOZEBN:?IC[35T#[MD:'FUQ.!<[X 28Z,C3!07 M&<_4-,CD)'Q=J#G#@K7M]&'$VL],8O&5/$TJ9A([F%],!(&8:@C?=Q7CD?1[ MT@EH3Z<=&TVVGX'L[8CU9&0@ L"\M$=63'4*A:WM,8NT'AUCEI:[2N68K7:V M/0JZ39+DQ#9E.?J&P-OD/;&P;$V4Z+,"VVEA+]E:YIA]G.9#=+-JK\V'V7VNQ?,=9AOT M'P[Y]CS]Y8^CQRPODW\S_^1R=8)7."?>\35^PNFV;WV4VM:IDN1M[?*@J,BA M8L&6V8)Y;(S2J"6;8B5)B"+M&=$BJ=551KJ B3N-Z;^7O#E9Q+#V:%D9"8(I M&C9+X/"SY\0I2E#(M$:LGT!%UJ>31<47T*!+[DWR,L0:R\ S@:^7 R9Q/AX M.-EG<))2!_*^IIF8(NEPB*2Z";I^<4@2.0\@2/)Y*9M65<_C14F+NAUOBY)X M)?EY$M\EZZ1\YDD<>_#5Z<(_EUH7*W72D0I@KU61G5B[E A$1\NGF" <+7B+ MIM*B7]W2@D!F,D0]/5/IVJI;('#3VT@3&W%E7G9H8YF2>#M6MA/5+0]0T_8 M\=8O%8!"IP$>@EXC=LD*E"P^"WR"J_^>I5*1>TI@V)M_4NW>5JIJ*"O )*'/ M6:S!NK3$4P>+Y6&IN/WJL"F&,LN![>FU)I56Q8-&,=3<8\(6#,1T1JJ[H!_K M3C_1Z.?)B>IU85LX:\V%;LBY3+?FVDGV&"?]#!K"Y\.Z:_5SJ,IKN_S :J\U M9)6JK_'6DOIK50OOY4]$PS16@VUT)&NH#]J-UF$3#/9\CE>]^F^N?0V2Q7%< M33?D'T#6T K3TQ( .$E2)F*H2[I%S484O889L]_]HEQA*#/UC][#O;A#JP > M( +E@4QP,$$(]2L:C'2N\%<-#M"%[SH%,'@1.@5VB#&YKNY+);&\IR^A'34/ MT;_(4U14C]&F>KX'%^$5X*AW[UT9W[4]L*2J>:==0V'\)*<]*XHMW3JY7+%H MS^)+NL0Y>2/B/9)7.TJ7XW&B5P3ALIRU$&1'4MG:D07+_@GQ=L I02U%4LL3 M:L6DERLWX;3H6HWHSR-9M=7AZC2->B]O2%W* &T(K7 2C8+ ?#3_** "U98/ MBOQXKE*/JFEIB:&<=P@QG/D.NRE]Y*F\4.MF4$*(4T)7;VZ&##V!.AK6P3M0 M6@ZE9Z#RN)_XJ.;5M [066?:N^%IK"8SY)U^7ZRW+*RZOL'.\V=YOKP5_E2H ME*$[K,G0ZTGY<5P\T/_1NUU/\1JS,GWU?4+Z@,B^^T.G9;79/CQ,X> E*&9U MKZGUJFQ:/]C*"_,Z;&MFYG81.5Z^E&5DS]PR2R*$YA4EHA0.$/U_U"%T@%H> MU4,:K-#_;:<#/\X:.2<^0(T$J!:A\NTJ(3R',/G1[,ROOO2#JF85HA.>M4^6 MS=;9U8HEG[X' R&.NS7=(?$LJV3R\3WS*.D]F65"J.:8^IAWN/R&<8IR3'L1 MBY)4Z[Y.QM8F8>M/S/K07Q>3+7_-'W M=4H:V@7#34I@&?4FHR\) M;Q-WB\Z./UTC_A!UGB+ZV'.PVO1X9NI?OA^ )NS0B353Q\E\R[YS7!08G].I MO;C*ULGB^19_+S\2CG_V,*G0LOXHLI96&J$@@YU*R!F(=4+6+ZH>'J#J,?I: M-4"T!6)-/$>GJ8QLIC$$/=V0]&B5PPMF0/-23?$Q @_=0KRLW"#B$%5-7@98 MA/MSMG"!#=QAM8IY)=Y_XO(V^\CYH$K\)]QZLFIUF)GG')2E=430.HP*V.B5'GYPNI^+?%\\C@M MX@7%6)U9Z9HG7-*#Z\14KLE6C%&UL[+W9=MPX MUBYXWVOU.V3GN>T<;%>ZRO_ZJ\_2Z-0I65))49I%./G[]V]^_/G[[U 2 MXD64K/[^?9']$&1A%'W_798'R2*(<8+^_OT69=__S__O__Z__OO_^>&'LQ0% M.5I\]V7[W71DE.*'UWE80__K_?W>%O**T*7]U? M/7QW%J1?_OSS+S]5'[_?%WPE+T'_]L"OV _WIAS=O?WCWYD=B^.])^WWW M7=6"*8[1/5I^1__[^?YJSS/?'M9!2DH_%6FX)F0S M(G5))-\^$9AET>8I1KO?UBE:_OU[2H9P?_OSF[<5[__1I?&3J3CG41;&."M2 M1 V_*&)TNWP.XJ*TWDFR^&<1Q-%R2_!L(J@.=6,5;E!.7 UOT!U*2\OWR+B6\7B[^4T3Y MME/JXH7^V4?'8>0P-LME$*6_$7"@3RB@0FU0DF: M"PD@:A?)YJ)*R1D+27TX16OBN\0)*@.8BR@A9M[L9&CU7+IH#]MQB SLY\-Y M> _13_[R\YM_D [W-E^C]!PMHX0&\21/HR\%Y7$7!TG6(\3JT;<0">[1,TH* M\I\0KY*(LGC$3U'X_N?W-D*"FKJQ"COG>$%6^C8IN1ZQX3E:O/EP1^8_:!.% M-@15DC06EAT-VY!63=.\FZ4NLO?SAYQ,)6E /P_RP(;D6N1[ *2D=%YBA:?B7NE-S@)Z>0YIL&J3>QDE:)J M -$'8Z/*9V, 8<.SI.0&'E3T$%N3P1!Q[0"0LW5 G#Z[2L@8 :4$#[]32R;Y MMNYQAPE\!OS'#$@]E.[#;=!1V%#C+]NS,FOS,3M#P@-2JQ]/$7%5U"A@9Z@( M9V-S>FEI8MEGJ*A8A>PS8H22MM&=]>R^AH[R9:'K*/@2Q<1Y>X&V'S]C-3\% MZ5="A Q/'E!8I"55$_'Y=&P-#*W,%U0DC86M@S@9Z8>DQ=+2);)&UW169#EQ MYS0C?O(1X54:/*VC\"0EVH\OHX5>EP>J@S-\3HAT MQ7"J2 M>>C&84%'+83Q!9F+Y=M&QV 4D:7TK,Q##@8)B3W)N*HD?KL\1:LH21- M3\R<;.@$\W;Y,251G_8!Y9SM3[HA^7**$K2,\NQS_L72Q&4XN8;=6QEL4V7H ML?Q)&*8%6M2[_(,/Y47L; V9+0R1A[;X54)B4([3+9W[XJ3O6FU?EA8&K"<+ M_%2YZNWXL(1E91!K71B[ MZSZDXWF.Z,'$.D9=XG3 Y1\@MY$6A2^R/-K0HY6[5=G=G'X[VKHP0(2!X^T& MIWGT9_-H5=DH.1$P(F/^:A8P>!C6D\+>V;V#",U/Q /)2"U9G$=Q0=JF+-G' M!E;8NA@[FQ]NL,#41J S5X!#9.A^>%R?L^]=(+;T6.=3/9LH!SAK'"^:O>'0 M>L,%&.[$[<'][_M]V2RK-@\]5W8LR^#^9;6SJE(9,]P'"V"$BWUCQD9VMC9B#/C M8_L(#%Z&^QD*7N(B#7&69TM,ZM?EX[*\_<,MVIQM])8]^TF[V[<'2Y!)4+$I M8HH 3CFZ^M_KH* =SBZ&9S8VY*RR-S;"1XP7WZ(X-M'@4-?J_JMYGR2C-E@_ M9.7(F3:/00_U'+8\Z2ID$.;UEE2RV/U@9]-_.%EL'+YHK!H$V?HRQM]^18M5 M/X4UJ%OUJ0,WWM>S.,@R$G;HWB.5AH[4GX.XYZ1@&#E&-,NHNELYJ[T?L)T& M,3UX^[!&R.SLFX28W8-Y_!]QRK,1<7KR!9$^\N(E+%?RR#^_!>D^%/1ILC&E M&V*F;WG>/LP]OGZ]!(?<8-WZ$-WX$/,DTH++\C3^)LAK(.)E.46)[1S,L\/8 M?E2[(Q9.B!"D>& T?(52MKOOLSN03G[>CV3LC*9ZL;/2/JUE@GI4T[OW$1 = M=UUIU&5!&5^KUX#7Z&*Y1&%>.C,9>]?#KRJE1K9,\48P^<[Q19#24QB6%P"L M2F0!(0;7+OK C,Y&1(V!V-V8: MN6)>Z.^V)SG]A( 8A$T:]Z$R28)6%+37P1<$F(+R:,5IVB)%T\]]H.GGWKPO M]6USZ"_J(\Z#>'AYFVPL"$T" !I!Z :;7D+G=F3-NW+F'/&(RVZ>D4![E5$U1 MH9_T5>I&(OK+'XRQ'HFY3TG]KXRTH+*UT(JR;=F;;7^2MO4(TGTO1_YL-7PW M!V9=XJ>G$X/@(M&XU%N4N40N=09=9P.(>D5X)YAJ**$HS@XJA,5MA29MA4^2 M/%K0.PS$^(=U@(N7,"Y(DU[6J^=%7D^3.AJ4:ZD"ZUBES9C2$FWW0R,5@O"P M]A0-J@1BT3!F69RY!+5!4F:["@M\%131$%:)<615)6>147[& Z2ZELH>!"-@ M V)-O04Q1LZM&6E$7/J%CL[:BS.H[:\4H_0Y"H6W8W:Y"7:AE8D9HC&*5>+L MB,82\0E"?Q"[]G856U+Q7.O-!'MEV ,/KAQ_+]UA\"!:(=&IPCBIO(JSJ%>? M?#TK")Z2<+L_\KJ_5L^16V24'J188QF1')012D=4\0BG@4&:%=)8.AYWGG MTAMJ/1?DRC6D0C:2]('VS6C(+YI2M>:3)M)-9=E.OX+9*Z\MA)B+Y,BIBE*,YXG+.TL1I42G>$L M!T4A16F>MKS2SB.)JM6PKLJ"F"#@T_1](7W >,>"LSN './NM\MK1(9\2+WK M;DZ :8.@2EAU=@PYO#583F7(;OZ,'LE("40I,C-5-#(E M(S(2F(SS^*.]1AW=["N6W2YHZ01Z M-&HR+@:JZ<$8J3K?E=WO'U>X2LIKDH+;^)IC)BO4A6.HGM2=QS0=='&'5S;- M*XAX !GY(Z^>LLUVJ:/U4L8N%:9-E^M#5>QJ9E1GX&(6S&G=M)&?7E#$;[W*.C;R*5Y:.,-B9"C[AU:@8LPE8H'>=W1]>KUU M%R%9W*,\JC8$P#'+@ )G-0Q,P5FL$K1@V=\*!_'J*IVANZR*\VADTMC8R""2 M:3%0@&;LD3,61!QG4#MH186\"3;HY"42'2R7%V;@)2KL'%@@9&!-K86#=C&O M)FA$//R'RSG>!)'HGJNJN!(RN^+.0:, @10N7)T%@.'SD4-E1]\>6 2YJ ZL M'X+G\C0#D>"!9K[#"1V!?$(;,CAAL&!0LYFG"EK30X0P[8[[V (,EXKI/J\5 ME)GIX#[QSX52VR:M3L3.&!M=[$PRH+5*D75>Q3[URI N[A:==G( M!JOK/(#IMC_N9Q[A=$Y!SSW#S11.YWN'FCBO.+[B"%Q?W ^K7SL@_"9HC.- M9?;^KC:@I+6SO9W@&+GQ@(HWF=/V,H'WF@$UF-Y.6L->X-NSX6T'2THT@PU; MPGF8@%@;0]03.+6$_MZ16;H#S5E=9 ];_)M$K]W+TC?H6^-UMQ0GY,^P.@,H MV?LUHL'F&M.CX0R5,IAA.R9A<,KAV,H[IL=I/K.:1\* =*R+:DC*W?*!%&5P MR"_J/ B:X0EKF4 0'[58-Y')9SD? ![L\) 'R2)(%]GG)_J.(.F6W__\08I( MK;ILJ(35=8Y9*>1P/UL(L,ICV0J6,%8SPFC+><_60;)"5TG3@Z,DC)YBV=$N M(QK2[EU)8UK=NYY)^G3O2DY65F5<[Y-+M)0&57 ]=BU27<]Y,#5#'#8W#F@T MH)"CM>:HYF\E[%H_==05G"B^3XZ_SXI_%VRI5<(AP,4#V)&T5%OE5C[18+>XC@:::@6DZX%IY(4I;B+2M<>G"]2]/$PM6"] MN) 6+]196-"UT>YW* VI9BLRDCZ/GJ,%2A9TX1I%SVAQCA9%>4"4P+=.N_^ M"U*A4Y(N;[_YN29VFWXBA6^_)>3W.ED_3I]P6IJ/BRMW4C1QZT(*3_RB"WSL M2]-(?>^Z>4;)F;Q^A?+/2;I/<7-XL2>K'LQ@=SDT:C1=157#>UAKJ:P)015M MO_;//T5)M"DV%-UIMHZ>#@YTE7#0+O2TF.@1TU2BEE;:/4R$T\_)(LJJ0[%H ML4L%RW.8(?DT?688/MZ[S0CFU?2<822JG>>='\YSL5S2"V>'))PO]T%>GIPF M4^PX*DU5RUYF1*Z#P>V2$SKJR,+SG0'9-%UG$#;>>\[PQM5TG$$$JOWF+Y/< M!A*,/_?VN4-)$--#9\0>5PD1&67Y21BFQ>%P%[/6;H$BLPK?BZ+/3F+?9'!_ ML,+[L%CU;N\'O\S)#XB31YCH':;T-9!S5/U7#_ER&C"LBVA,&-T@LUC#LX@; M#\'OYX1@J2/+7_6V0-%")'?_?O? D1ST2O= D9SS%O?!#_[JQTS@!I5+J?1% M@JJUXQA_HVDFRTVSV^17,IG!Z?9V>5;E%2;#.YI N//2K1UBS5%]#V(^@]FJ MH31'Z#W8'B#\=@_AO_D!8<"\@VA43R[:A7XG*J%S_"VY73:F\]7+'(83VCZL M-">U9JR\=XYQC&Q_&)6T\EH :$,JW1Q! M>E2F .=^IM%'LS8_+IC'WIP=",R'=X+)]*.E_SDQ899'(130<$HJ4$,H31+8 MVB:R &X(3R[ Q]Y '1W@]698?WPSA,SAO2YB9G([G$ M71 MR$Q"@%UQ05':AD;!*6!/J: ^MG@DN=B9YL9@[0^[8S+WZ"G(TXB^7B? MD+H"^YZQI,(4, 566!];,M+<"XUC;]T)UJC$HW+)+ZD&BN2FF3 M\!EM%HRBN0ZES8R+R+$WT:R/!AN)IUH'!QGSJ$>#FH3$HT$P(9_Q;,U O4:# M8)9<;&OOKO&>>+<1;[OK;.UUM?,"/>(;G'S.B;)_[I-]5NL4]*0?>D8Q?J*W M+_=K&MS=M4$9-6/W0(Q\]HC1#*S9#PPDTLZ)QMY6L]-!0$[2'FXV-U_%NG@) M$7W>>;>Q(]W.&(H-T[G89^.SHXUD7/V.R;Y @-2T;Z>84OX,/T>+-Q_N E)M M$X7>I,R\>,G3@!@VHCG]2>S[G!19$<1E2RMR9^I49=T75-6#U\0K@&>WR65! M\SOLAE=$Y-UCRW3WI(C+%!'T=L]+E*L><;1,7?C^=T_JSK.(:.&+^ZRW3?L* M%I'81!S4IB! MRM9MI2CK'-FV$8KUS". LB6I*-H5TLP&NVC%*LA]*!-4MHE=<5EGV(4!#.LI MRR!1RF./*S%M_W"5[8"5H?#'%7[^J5$GUN9C)J?Y]B7*8PP M?/?5%6#\_)MRZ'"[&7$!#GR<=RC"5L8 37A+%0U:;"/N:'B3B?)_X2_90_'T MA-.\%E&<8E)5MMFXXK)>M+/@L5J@AI)&9]ZA%1.<= IHT\ FR0AM@R1W;=:4 MY!P[M &,/7PG:$=HR'KNU)): RQRNJWRUU=%N;VU)6KZSL>GYMSOK#B'GK,! M["I:]NLAK*9S\87T;ZIKXTW;11&BQ2[/((4N=C, M/.90YTG31+E"BMF^UGI+A;]-R1"T3GAX&H1?8[R2(AI6B8&TJM*<,*UEH.% MK1)CB$=674=HTV[O6I!WWCI=2U.1!EWGGN/A?$1D=O\G)0W) ?XYS8MA^ZM" MNWY6U-&(RK%]2[><PAUP,-XCEN< U[T051P8/AT>"5[+)T_.WSF7@8T M)-'LV+1)> Q""S8!(]&,EZ-G6^S$R/H=.IH*X* 431VWV>"D-(4@/,(K,I$1 M4M%C/!KKKQT/(1R&V"/S I>,%R[(:/(>Y1'1X;Q(Z0,898[GRAMA'3B(A+P7 M5Y"8 &I[V*1O?Z[@-= BRN@#_-M\C=++* F2, KB_9'4\R /+(SU1;-G,5/! MB%ZW6FO>#*GFKD>K5M7WR2+/QJ#;0:VYLIJ[D]/:73Q-C8&KSC M50#.K=Y.R=&'8;_Y@?][>HU8<#FE\ZUQH+_QS7G_ D8%ENLEZ$I4Y'?'^!MD M9X )[HZNX"N+"^=[M/Q6QBH%.*?U]U1:K6SU47AG[5R_?BAL:>[W1ELSW]VW M=OY*W.^]YL]?9W;UM=H@:PU=L4K!QW\&(2*^G0 M.ELS\.%HIRI\2'KMT>$$G<%$#ZOT&&OH<9T/;*^29V(QG&[W3T4(0"HNV$FA MV2WH,P"[8,(:6NM#[IJ?;+/+9SH;^N=H@Q,ZS:.R[E7YG*%E$5]'2^Y6/K1. M\/;&M^?J3\*P>B6JW"A,\SH[UTZ-B/]$&+Q6$W.0 M6M-$G;8];. .PG32FQGGB @=5CFM!%TIKT@G*V:SR.3P!=#44L?9YC"?TYF7 M9':]-OZN-_-^@E?_R&XF?TB=AK+9IHV"'*IKGN M272RX+9J34ONT%ZT^5.5U&=GBV/\O+4.;V^UY3I/,K"&&=%BA1WQ(QH,#%8P7+,CAZX3HN,Q.HL.T=9 MF$;ESC2QP$.T2J)E%))0?1*6N7;I@7\<1T[#VVVZ"I)Z"$+:*"/R+():XB8B M;I?=<\NJ)RVLTNZDZ+%"VV$RHQ[R-QQ/@2M5H'4EALW6-!+#>;"WZQS8FR85 M="-6U&TGC!I;S?ET4(?GKQ%-N'#(*%2EJZB/')B55-S\MI9&(@0604L.>F,0*R]>$,Y*BPODH>OV&Z M=*;,SJ5+QPS<33HSQ+?03(-#O,EY/J?+X3R8+L/ITB] *W#N$3-'>(#1+L(L,-0+6&ZSGR=P@90_U M:)Y0%QAJ#*@?6 .N+TWS9"G0&(]KE*)@F8LSN)O2,<-]D\X,82\TT^"H;W(& M@-["T='1U]7.41H]!S2=D3])3 \R7=&+;,5N0^Y7M%@AU0Z.7N7.Y1Q896<1 MJKYD?X_H8P0$OY\"@EP"P]OE)4Y1M$JJ!95PVVA746K47K08PQG2][+K#*#?&CE"4/=R#[6L WE M/L1S*UY@^^29#%96R$K,[T6+0;XAK0D[@@WK6?,+0V'FLR37N'!>9BD\PQNB MQ1HE66E%,L1%USC+SJI"Y+>S-KI5(IP?=]#*DP_JQ-Q>%3T^4K9**M M2_9SYP'IW6?G(U">SCCLN3%]>F MN;I&1G1*Y''+L/LC[3)S0)M,;?LX8[CQ(ISVN@WO2H^+UTKKV<,=2LL'I$Z# M+ H%6).69=\NY9>= _8@9K"/00'7 Q;_8KY@XBD6SZ.XR#MO>P)+*_"X+SU' M1/)-,3PF]WQYJ-1>AO#CTJ/X\:W#!2S\7(IS ME5S4K[@6(]0.0- MUD 56H^IR"M,':;:1K$+20A[[=7&#XT-U[JLMR'8*.3^(3JY>AQ)<,WCSUA" M>T&S&DM<))[#6)[+1JNN%J3=9Z[I,\TSL8N%B1V0;;]NOQV$NX=>O(,P3:35 M \7=ZEI ;E:?(9:%UAD'N8ZY32W-> S:OO5><7,RU)=6 MB$_D7&YGHT^YG5"F4$HCD MVYM@@TY>(O9(B*I8W4SB8FY[\]XHQ& 3\+IR4_84F6*VWFXR@$!WCYZ*-%PW M$[2R:IYC>O>1@T3MN@UX:M1UAEDEU' _.S 8%;';P4^#C0^8% P9_H&VCRE. MHO ,IT^X>C_[$Z*7SWF# G7I9K:_= FP"KD,Y;GZL(B#[UX>;CRI/E,HHCJM0%\<%\R^WBU04; M(T910:^ UNW%P3H" '7HK654O06.=J2Z2_$3(GK?Q32>)XN+_Q31$QW&G&X? M"6])#ZU1DXEEH)KSZ9/U#3549PR29#YY=83J4F6EW;)&32BVFS6=QU,=2$*0 M+#2+(.("^(-PV^0[GYAT5'5,-??'* ADW, MH(O+ ]\F+J7\YH-'R2O*I]M/P;]Q>D8S:4C&"@84X,]H=RG,9^Q@;KBAQA!: M$O%N$4\T-Y=8[8/2PJ7\GE3@OL"GXCR>F\ 8Y@4 LPEBO89,0/SS9?&A'Q!L M%)RC#:89E4K37"7/Q$I$5,0?:VC4:&X8J&KXC$TIN+")2?2QR)-AOYF@XNT# M]GILG-+[H((M^LZWYL;GX=OT1P(R98?8@6_PXIWU\"*-(!P]PC51SE<60<1)>K73H0MS?W>:&OFN_O69B3%:C5$+5X5WK4Y0V'B MK5X]%"%N==[W9JNWOWO;ZA(U@*W>IN##'JN]DZ[7I,)5CC;L",$:O9XG7AOT MIC\2L6U4VZ,7"_(-]!B6#>^@.6SI^R#TK<8RN6VM"!?ZRL)-7$L*3PZT7:QA M39-80N5>D#TR)0(<8/?&MR6"QS18H!N<(YHO&47/U-FNZ/DVE.7W08[*0^:+ M.Y2&U&@K[K4#4QI-D.K3F!%V>QIP,$CKR^77B(,G_SUZJMY-O"MOXD+Q+*BF M@G"GVLQ1*S?3J$#MB#+/LPZ?,[0LXNMH*7HJ1*,F]*Q#L^8\ &UNK"$PK24- M+XO@-/?@=@_H$<^E"422U><%7I!)AL2K2(#Y/+S]$>/% MMRB.KS9/09125Y1DG9879E/K"PK/"Z(@DPP)49$ X[R:;6-06R_X5:.:J^3W M=12N=U/-P^CG%-%,W.?\I%F&))J#76T2\\"Q!?,--@C6%JO&]7L_<-U.]T$7 M_J(-NDR##1?"ZM)-M,I*SPB88*,,AD&9!#7<_CK)CI]Y<:QQ+VGWWM@I6I(R MXI=8#2C('Z&34Y@'K/L;;\C!A)94O"'%WR;I"R>+9S(KC8@-5QK&;=)(]2RCN#S_G49>^7F 5-YEQ6'?0%0VP6/9FBGDX#^\XU2'B'H68 MF).2?\1/4?C^Y_?.,FXVHM;NF?C?HWQ]5F0YWJ!4D5-3L[:X>Y+7]J&#YDGX M2,!P2MA_-3-/I[J>?1K5G5^'T04"O^_6,9(P*P=($$''K1 $*$L#$1'#U"7 M093^%L0%^H0"&J;*"\G.(M)>FD/<5*7VA51A5[VD5=PM"'+$4D494!V ^C[% M$U"+8C,;B&[325BVEN?DK*P$!2^>7ZR>W7T,7E!V>&ZQ^K%:@&P4<)TX?"^* M^-%.QFL -1B?D=9P%C$.CR/O.K H*>Q"((4/(3Y!(%*(D\S3O62P]MK7F/X1[T!8\\]&(+]O6-/\!4X!]]XH_O& M7@P?[L(Y[ZCR[&_<\$YO@+O M,S3_Z.X)E]-.ID*JG0:&AL;1!!W ,R;\4?-=#ZS_,/4_CF( MB]WC0/\L@CA:;DG@M#RS!Z5I^(TKR>[4J2"BZ%=L)': 5APU6X5?>@T M3\^:T?$5X1=&^&3).@YC^9#1O9.IJ M31SW=2P1-(OI%Z /V:=QT"*(.5J>-3>5/N(0_2W&]LGZV#=$7Z.7R& MLS(3E?3>;R]:6M@7TIJ[+\",.*YO"&5Z+3W .:+78.FI![/%PTYUO07$1O6Y MPU]HJG$1WQ2CWQC_0P7R!*WH/3N_86YAH//'F^-0Q\1,'@UVM'-,5H.=BZ2- M[O$O>1(QG@DQHI^S4U@'&:[H\TY%>8^+&/Y7M%@I[U#I56;\"UK96>B1"5CB MFGR*Z&7]QGQ5<53+!DD-,ZI).E^$TX00'L26@G4YF&S-(-9/IOD<$+O-URB] MC!(2LZ,@+I.S4U.>RY3AXDBO6YU)DC!J[O-M:'3]+BW=7BI- 2- ,. MG/-@P<5)SUS)?$\T.R/_C7(E@"%5.CVKK,HD@:IA!0O@E'.;SU*,84PUC*4S MC:'CQTZSF.G%9JG!U9)NDI+=T&NK1*IF[+6S#86X MF#-@$G>8K M'>P$0HEC=04&NK(*DT0KV (6 "KC9><=#O<7*C\%Z5>,(J[U.:4V)[/A-*SI?D0)C M-NTE6'^3"=+J"4T$F-%B6W7#/5E=(YHD\X:.9^D2I.O\2I4X>^D4D4A1FO$L M86EG\:>QKMEJCT5U')-WW]*D*F,'6%7G(475N+B7,03A0\"T&3E@S ZAXIU? M-QM 9V;O41!?9'2P1H(BF>06FZ+,H'N.B )D($>MUDC<>[OLZQK058;-^& O1#Q-J=K.TICK>)OZSYQTVP00>MN;45\I[ M=$H!A:'Z&V*.QWQ_$Y/'U&,DD7D6WI!>)\>)&$C"0DT<<0K- T8J[8= $8>G MMSMQH/Y[OP[Y$>%5&CRMHS"(!6-79=E&#RPI.\DQ)U1W"^-)":L#UMY.$6MH MQ:HE' PJRS:Q)B[K--*I,8/UE.5$-"&//9K$M'WH_BCQ; >G#(4_KO#S3UG^ ME!(6;_Y6_O4#_:L))?+;'Y]N6-"T?]W!8_>K6R HVQ>+%. UN8A:V>0[*MXV M;GF>/=U6X:+^!QLMZI__>/C(#GLZ'W9#G<8'_]M:J(9N3L0T=^:YO61 MUX);Z7J5V"UJ1:7)C56,K-%ST +E.9\#02;;X,JC].V\OX):Q@54F!"FHML8@DC#@G028YME97C2'!31 M+4 7/(> !K?$()VO;D#3/U_K!U")JF4F &*_6)[M1UJ6=X*L6W:24%1K;0& M7":\@/C+)''6-L7O*%JM_IH@1*0\D%&T,R.NCGDID;^M6V&A;]7/X ]/]U M!NB_"[;5:^80C+.%I4@^%)X\7@5Z6T;E@0L >W^;)/:N$NIQ?FM3IB+L5N M;!V-?LGM'CVCI$!GN/3;^D77 MAVB51,LH#))\=P.>WOP['#2@6VK90['9!.GV=GF&TIR,Z3FUKI(E3C?UL6^W MM^;JPQ+WZ FG@&MSJN+L?3%A<9>I*0Y->A]E7V57Y>2%NXDGN(6=AQQEHV%- MC47''P1\F#027/J"/6=_8'*Z53S]!ZBA DRSAG/4*) @PXQ0>HB1:ZO73@FI*.++5_(.C"&128$JM >^[6YSE M$&4YSB=B/@0QRNH5C!N42_MN:5EV-L\OZR$"!6C">GJ#8==FU\KXPF?C+=9 MUQ(_!?_&Z6$%C'_W55RH<1&15\@_.''OMRKUT^Y-151Y=UB]N 4" DMU.[RE ME_ .J[)L SJ2LDZOLTEP@?6TY%QMZQ+? 4="U(=@(]A9VHEZF_ ?NY87:NX' M<0HYA8&ZD3%0/0X,A,3W>S8RS<*3:SE1>KU:OD&44?S M+57+DU( K^<4X[9^L]C4VE^H8C\$-,GZ-&[H/^>^5EQM5E=0S;.O/;K2W&/! M1Z2WO:6>:_EU9>WK*E[DN#V\E\5+ZWNXYOTY25$01W\2W7"6W>$L\F%/_U4G MYCXTSLDS:04JWR5.Z3R\D9<9E!T76%^8(E=9WWE@T4V];6J;G@FW-=A:F>O$ MCKN[_9L'AU?])!L=BM(,/(6EG8-1'UQ8UPC*M!T*SDU0"CD"SG6Z/-CRF 9) MMJQ.KCV@]#D*HV1UN^2HD]&MQXS_2;K7,00+!L9V63C'O@J^>!3C"MQ#(%S3 M&>P*Y;D'?7YXI.<\BW1+#W]B,F!-J/C2;190'0;CBCK.03L($K&9S030M2EB M$^\*T7Q><<7I$R:S-W2.ON2-85>RH,>5RW/*.;7#.7JBLQG)^DP?0JT5'#-" MLX6_->N.Y!-]Y#TXRIN)'PLI+SVR&K/U!WU[C=P9 M2 7S(=7/> LKJG59(QH&"RP^K=[VFM?V,9C-V:ZF'/,Y[B=6EZ:ABY("%QE_ M%?@RB-+?@KA BJ77 3BP_89-#I/PIZY+X#$,WL/CKKDI.FU*ZL.DQ+5/TKO7 MC^L@>?R&XF?TB91>9WM36?=/$#=KOJK@YMQOAW [*UZMTTP"#[>HFQW_5^AT MC 6X99K;]!HG*Y0.%PM W*S% @6W8RRPT4Q3B04*G8YC=0+[P\M6].?!1NP* M/M;\7\C'N><['+W#C._/&%XH[]%C#P.<-V^KP,88:["QO(*?]=&\D)]S3Q[. M$:V.ZF$-9KTO%^AH=W0OU*W?^/Y#%2$2M"HI3C9&[,RS&_0,'2. _*S%""6_ M8XRPV6#3BA%*W?J-(B0Q8E+)VO;#.FJEZ^AYEP;O),_3Z$M1GDY]Q!=!N&9J MUKGP""?7Q[U?70JW0Z/5+9]=DJAS07"3)D'<;&VF46'GOOL0%>Y5FA%U'L!U M4L=9M6"/%'-]Y1CXO.'QE6GETD O_-A^?]I$&,.7J;U8@C^^3'U\F=K-X\6? M']B#IIT/S./%],-T'B_NJ&'Z>#$EY$N+F\6/BX*^-LH]'RGZW(@2[<_^ T"A MDBX,NN1\.$ M.-4<>76VC9@97E]RS-S.G-R,1MJ6;3O88+R_G(+E,F?.<8.3L$AI2W.?VU 5 M8\#<+>8-30E82E;IN\8>/@A8_?&!:G'Z83HMWU#!M<4J(U^)_ ML9&:=MPV_\>]H,T/'Y@VIQ^FT^8=-4S;G!+BM?DO4_/R_W4G:/'#!Z;%Z8?I MM'A'#=,6IX1X+?[>HP$=W:Y5#.>Z13J#N6:1"32T6C7S@5R3)&\8]U>/&O^@ MRS6M2G150$%5H0,,<84IP02HMCEHQ QX$/J;#TN(QZ,3QZ,3LSLZ,6&W4KB) M O8>P-CFX0J!U@,>JCAP/$#K%YN+ME,Z3G$\)C&6PIVW;P[/Q#R2)C\EK+\* ME->IJGJ:B%O5>431.=A@8(T>QQ=@W ;:_IE2)'DH-IL@W3;.9=VE>%&$.0W" MQT-9KJ.-[+"5XHDP1429XN$HD,8VHX9'AYEJM[Q-JS362'".25:L<42$7\PY M&&#/, -TU'[K3DQWVI*TF=""U)H(B;0,8 0K"Q=$A*P&##=/!X($,.G2X@C(]8+J,L#.)*JTOR&SM&!)7E@(I3=KK 4BEN"UP MPM4#V+]0D,+@U2DI!%>CY-2A)5+:+K :7'Q8U#6"5:7R/5I%5-,DOPDVO#Y0 M5JP!*'ZQZ:$)H&Y?*/%9>'M[&(:CLW+"'U^1&?/+/]!6""1!N0Z2.N6F"B6Y MPG:PU.'ARPJO-IC.JMREAR@K'IRKBC8@)2XZ/50!U>X++#$;'K;&OO?<(U!= M1C%*SX@F*YR*PQ2W5"=(,:6F!R:ULG8"%,.!!R$7]YZU(705+M.38A$1:B=Y MCK+*+H*E)G7A!J!DA:>'*[#J?>$E8U1DA %=HZ>G,_B@^S#Z, EO-CAYR''X M]6%-[)[=%CD1.EE$"0]"\$K= 92TTO0@I6T*2T,K*4/N"N@DULEK[:I>?G\Q MB68PY:XL0(IW(2@H/EGP0=2W!#L!*R[@)K'F7NEU5WR)H_ RQ@&[1RDMTX%6 MJ\Q4\216U Z(6O2YR)G$ GNES.\HCO^1X&_) PHRG*#%5985G:-DX/(=1 G+ M3Q5=, /809J0%Q=UDUAUKQ3[#<<%L4Y:S6#$/:.@7 =EG7)319=<83NHZO#@ MHFE"B^T/FR".3XLL2E FQA*W5 =)3*FIXDBFK!T4,1P L\(WOXP-C(L-2E=D MF/'%*6KH#%$'IJ0(&HKP=X @X00#T?O3(LB8]L HWO$+= MN-(J-%642%2U%%5:#""8^*N+E>Z;@G/?0E:$N\:]*S)5- C5M+>ZO2,/0<+? MQD;"51+B] E7![++5VK.JBS&9W@AWO,'U>K@15%KJA#2,88=5"DX0H V^O+V M8_!RM2!:EKF_J&B*^*,HWP&7L/Q4804S@!U "7D!H/36/.64(91.%@NB=5;_ MYYJ,WM\(820IVX$0M^Q4X:-6W YTN'P@L#%_L;@?;,[(G[?I(_[&YIH"E!1! MIEERXH 1*FT5+DTN$+"\=026LG.]3>]2_!PEH7A )"\N@DVG^,2Q(U??*H Z MK" H>N<(17I(-J66$1@IC"$\>/3'6KZ&$80;#SEQ%/.E)!4Q0( MT,+[W,!'^_/T$"%1K_?)Q19I2*N/N-Q+7P")[]8X$:_,B(HT6K];9'H(4*C9 M%P5=\A DC+YN>Y7DB(H=/:/S( _J8Q^2)1E9<;MZI.ISD",JTD!+M\CT$*)0LR\JNN0A2!AQI?3XB3,(JCDLGM\A2MHC(W:FD(VI.>;.A>YNWR8XJS['.2D@JK)/H3+0BA M4Y2@991GG_,OKA\!VBMW>,))\0X0H$;>3@HGK>$PT5V["05M1'J^N#@T:':' M4M)BM*D?\<5+L(F2LO@]RHLTR>YQ'%_B]%N0+@3F&XLMTP;#LW6>\ \"3.RL M(029!"5"MU,)#BVL+_G0^CNVP#8"?U249MQ(6-HY^D>#,]:UG0#Y0PO<=!^A MH%90_U0F87K(@S3W%/LDRM#G"%%VC[(BIM?MZ&.Q]9)?E4.*E+[#U;!,TU4, MB<,\2YOXT1%MM8R_?JNMER]Y'$=V\#NJ]C#NK2#=Q[F%I(^N;:=5IN;80JU\ MR:@YF%N?H\'8V_?C=(P"@[29 MOT&AGY+]DM).(D;H^?D?[+V(XY*5AL=UK.>OWUA*I/NT2TYO_54T@=PWB/MH MB[ITWGBJ15;:.9Z!&Q!Z:IOM&RAYV%L$&7T_]N0O/[_YQTFRN,W7*#TG*A%G M.L-)GD9?"LKB+@X2=QNJ],8\2K(*=\F"N'B4(KKM#=Y@-:# A'PM"@Z?MFM) M>;%YBO$6H1JF92L^$G2<$A&^PDP%(B&WE8*$\QAC @YLQ6#"I]# K4?T],1 M9*#-R=%#5QFR+J,D(&.(("XO?Y6F"O+@(5R3 7%,A[YAF!9H&U3-60S:X>X>Q>5,( J^D,%='J&,?U%!NQX3;0#UW)X? MTVEE;&X/WEDR .MF! &PG,^9AOHYW-^#E+ZGL2U#1!"?Q4&61'56* J:HT271J6<("1%7\?'G^SEJ-)ZA.B*=F2U76Y9^ML):UBOY=&L6JF*,UX@+"T,Y^O)5I>HRQ#Z+!X MHEH" ]?C6T!6S_EBEZI-L;D9!*M9 H[-" #@]*J6JZZ29_(;IED;-T\X(7\? MEZR&O;%5V_L^^/:)B)82&;.39'%7I.&:0'-Q%Z3E)@^]I9:A]!F)=I)[4.K< M\#*@-,FA1G^;61B$& DQG\6PO?J_X_3K57*7XK#[V@"LL C'3.%I0U6FN4TT M,GSFLVZUUY 8)S7.TP;+5 M*&Y!W@H44W"2(%-J;&NEB>$!R5$P2:SM]>P>T)(5$04RMT>QK(0OY2&L7D&K MI#Z7M:+&(8]%Y1RWRY.'SS?X1S*%>__#SQ^N-D\I?BXMDSWBW9YM^=#H:352 MW9;Y0\*0'I0D4V[7"3$.DIR5&8_HN/HB37%ZADG#5 >6%4M1)B2Z*[0:))S% MCAOT[2 I&?@EY,^P:NS;M)+\*FF6B(BS/,7HD1[L%EC/"DW&G#UI.E\(,T(4 M'L:F@I4S'1&;<;&G:%9FM;'K_9[%OXLL+W6^Q*G$(BVYTKZ$_#0 4A#.G10TG".WH&'#GI& M''?HH)3-RL*]Z_ MT5(:NL'UV'M$ZGK.06^&46QN'-!P0R%'Z]:0FK_CL8?@ M ,-]=1&S6B [KT5Y#%Y.L@R51B"6>HYPD<7;YJW-BQ>ZE=:XN\F%[H 2BT4..PZ^WY7"0_&N)HKP@ M5A1[B3&1IB,8$)D@UON:JC><#028]"D#T^'>=92@JQQM1,-[:W0M+:HWZ#IW M"^O3 -O&'GIJ8$%>*\6CG!EA4/>+)-XTRKG>IWR]B?OK M"Q=[X>J+\G4KT4P@45(0K-:GN-7[M?T)LG/!'@2=AT3--/K6C-9S M,K:VPB4B.@1QQPQR_*MJ\4$NKN4^?K-/WO),9_AR\X,]=1$+^CK51:@7E79.P+ M0)5%?8&B\EQ=0,MH(_4%"I'F,]]5&,YL&F VU)\OPGV"]BN8]NIA60_#_F)7 M; \=/]A7)0RK'ZANE54Y -& X^U3?Z MKY+=/1M^,FO.6TQ,J.A!B0DC1I0FF:>BO\TLI+,P$F(^$WZ^L@*0RPN#LNU[ MT!OV@9TRWSZLDS0009UQWQ(LJ_?4B%QI[B91!XNY7G M#6:%L<8$=U>4^:PO\34FUD4O448/*^]>$]\]/ZR%> =$/BE=.;M!W 3CND2 M4JGFLPPEMUB==DMT942O,N,'T,IS ;^1L89!/%04FR^L/_J =@OC<>$#RJ]S M1 Y]$7G$,;EV@D0+;QP?GV_S>S%D[L^W32;6WN D-$!QMQH(OLUJ,\*MT!J# M ;;)TS-R#1]73[*?@W3LM1 M@B0AFP$%!M9:%)Q/9 PPBFU82S"E@8O3!+N6&*\"[0>E;X(-.L>;($KT$2^C M D<]GXISY)M@%P9]@-D$\->0"8A_OBSS\8$[T@\F@N1LTC+L7*==QF=T2N&% M86KKXX_'M37':7.;#\+HVXH%D>0!+_-OI-T8P\@S6NK49:]4PNK. :DF9K*/ M8* 4\]G%/2NR'&]0>H]BNL+5L9<4V3IU.Y>%075G@6P#,PV ;)@4\]F!I4MK MQ)M1CDY6*:IRJDGAK*[ 9N"35)@#<,$&L8]6&>OYO/TF,="U(JND3E7X-.W: MH]R0@ZU*B.PSUG+$M3QWXS3'$5ME 8AAE=BG#A25G -7"WK8T!KZ M(7?/N_4T@8+GK-[J"/]31/0NI-A&OZ-HM2:CHQ,B$@T4V4??RKU!=5ZA.S(IIL^&'KK#YJ?3((O"DV1Q M'L5D^KPH2SK/T7L1I$F4K+*=Z(I40*KBC*.*BSM,85ZWR#7.Q.G(.64ZJ<5; M99P'%67+8)A^@L@@(M].U-TB.Y^E32:&W11TDG6[K#SXML@S>JR06*?T< &F MC&@PF-.D,2E,]K%/#\QJLIW/9(2K>*MK:FA_> U)!]UP:A"<0ZA-'_':-K.- M?8@ \UD %;B_R AZL5U%!1;=Q52FCW:PC>Q'>#'C^>1$8;R,E;AT$#*C%_;]FK6:1WXAM2:!)C,;&. *S(B'L%\F MV3=SM14F!5"45D2P?>E)H$Y/9XM1;,^ A[+W$\SE=(^>45*@,YR$A&J=2>TA M6B71,@J#)-^=",A.DL5'A%=I\+2.PA-Z%;O 5M3A[]$3W9T@XW/Y MPIVJ.'OG0%C<@XL8]36AJV2)TTW99&5;/)+F/R4"?%5>Q( 2$%[$4!-P'D>4 M#WRU;,N5W>1]G7TRW]_TMB*9Q"T6Q M20!K+4J3Q+>YK2P 78OY?-89ZQ[VDC3>!>F>TR2(]YWJZ9;7IZJ0;X$BXP&] M*$[*$^S9KH=']!*BR AS7+ZN+$K",,VER&N51E__B; MUO2J%U7AG,N0JO/@I)FBVZX9^Z7R[BW+_"9N=!"_><()/6R_,TLGU[FFOQA3 M%/J* <7I^DE?\]GR$0,YYC/-.YCA8KE$(=V5V-O@/LC1/0K)Y#>*(Y/U.G.2 M0@\Q(3E=%^EM0%L^8B+(?*9X!SM\3E*B\RJ)_D0+8H0Z/&2-#(2:+F)*4.@@ M^@2GZQX]C6?+.?3%F,\UOX,5=F\6$0M44V7Z'EW]9DJ$8,L@/:D)G4*3VG0] MHH_9;+F#I@P#':WQ,S'@,07@,07@,05@-]B,EP+P[<07-(XI +VY;#^!%( S M1OLQ!> Q!> Q!:"LS#$%H-W$/<<4@!SD'5, 'E, >HSL8PK 8PK 8PI 6(5C M"L!C"L!C"L"IKTJ(['-, 3@,E#^FXH1$T&IP"-?5G,/7-!>:ID4LY3M3 PJPT/>:$1#5G\"YO\ ..BUP\9\B>J(_TQ,4]!7Q M-8X75YNGM'X8]WA\8+2+ZT\HS;=W<5"VQ;Y=8(<'8-5EE]:EU2=^<$#+.E:/ M#:@XSV<;5:CIZ?:1\)8<%M"HV7U=5UW3>=^HC4/7TUBI/T=$_K"Z:4O^CE$)C*2U@B\TC #&MLEWGGNR17ZBKC&0?:TX MD3W9>.XVU5TCH9KB/2-(%6A/X,=^D>5^ +Q79*D78/:)WD]ZG^APZ7:7CAXM MZ"E>E&0EB\:393CY#67$A^[)_Z=12!])R''X]83F;2"60R5@DE&"U<<20X M1BR'+?Z*@A;'%/WN>[^6N.79VM4?;XZK5[..6:KV?D4Q"[1^I9VQMUJ_NDC\ MB%E?U(;[PAJ.-0_S8'TYD3XG4?DRB-+?@KA0/5/D3A!>#!M9$%^#F6J#SF5[ MV=FD&UF#^9P<'2'B*NWJ;AP$%FW\ 1) -#_"C9O@,>[X21;I,>8 MZCZF]D/,*XNIVL::3ZKEP;>#"@(E_P*JB7!C[^$"A3N&4J^:XS7'43U+S2<9 MN!]+*-ZNEKK<4#X&4/E^/U7B\2QO)%+*]C MURC>WS9N=!'*^/=#/:25"$)";-R.9^*$]2P_> VJ+Y\/ZL^"5A8=BLPG2+4W*B!Z#EVK*T]'XXH7^B:1N M9(M<\U6&7N0FY!B6;6?L ?WE&&B5T+LI;B-&'+IE7J]\S'7E_62XL124B=:" M8,^K6**O.630H#^AF#BT=0:OSOC=;O?W=VU:7J %L]3:%&2WRF6[37BN>]K!'V-9YB&LOGP:Q./ 9S/1C MC)IL"G]TS\7A;,9A4>0^RKY>I@A=)40WE.7W06[]1)0N7UO.#>?KWO?MN:<- MIS=L,=OY+ZYY*?Y'4,K;Z=EX>2QXQJ(+S72OY1&EFS>R(#$H0UMY*0 ,YQP6 MQFBC\>+!0-KP L%QT+"WTF\X)F1B8J"QA@URSD,.'$21&KQ MHL8KN^0F,]=Y]!PM4+(8.V;P^(X1,=I\C_'"2HM--UJTE>+%BE=VE\N/]"Q^ M)&&9=JH5?Z+*X E2W,>8_FE-WIE??_+@7-@#H50:Z(Q8 R7(M M?G6;6X;1F"GC/E@:MB.&J2V*6WI;M!K/9-R2$=4I')-%^:^X N?BWT66E\.BO?'H>^3D2YZGT92@CG#F_36P%!8)3&%,0+"ZI"8LA0*LYG^U-DN9/G((JITL2$#T&, M'E!8$(TCE/%L9;/['X S,+!8Y?S:HLEPS>8VA%C5ZQ W_C+38(&([,P"S5350?*@Z=R@+C#0NG@]" M6$E$ZT5 YJBJP#*@!@-A:8TY(!=N$ON E?+FX?27_C@=_<30[1-*":UD=4VG M,]GNJBI>DA)/.*&GAO 2%VF(LSPC(RJ\*Q^7Y5WGCZJDWBNAV(!0E&:<2UC: M73_9:JPSTB2B7E%8D.T#.06=QPU5,V$-105A0<"BU5]Q2!<9(8G+0X9!/*X8/:S)U)O>&E2A2ERP0*FK=?-+&#:=7\[(RN"6 MM^<\>@C@3.0/\]R3,"PV14POR@@6IUS/<27K$(HHHE$3OK#D051IM)E\E5R< M%=F$!&,C/1+.HY .&+ 50PFB$T"09I32$V ^4_+]RF65XOYLOQ['R66L54=T M]8U?QSENC0"(S6PB0*R."*TYF9SU :MO)XY51K]SO FB1(!1:5D&FX*RSC$) MPQ364UJU@\'CU42;@,=\(F+##;DW.;CI>DE:\!QET2HI1TKI/PMBD^4V2E9G0;:^C/&W7]%BA70@WX^TU U, M24_5-:R8THZ[F(HRGPT,X(SB6I$\WI2,V4K&M4>)X?O."GM:SO)$45^:^>P2 M W57G)TSI&+F"!Z=L3/&L;XOZ!V\TQ7,P!UXI_%^,9\X/)4W?,AT.\U=^X3Z M8L,]"N,@RZ)E%):6[W-.&DA1^XZ,A.(L_,:>30?PH5["\58FI]F[L$K2(2? MK%7^D+RZ]*=PK2%8,+YFE\4LG&] JP_@C7:EY265@,^#/E3NF:!54&7U=^^E MQPM #KLJ/_HD.;HMG#Q[+5.;/T2OPAPG-R;6\W5ZHWTIKIK>7"0+MX>Q[M$S M2@ITAI.04$VKD>=#M$K*OC')SXHL)P9(LY-D\1'A51H\K:/PA&9;N E26OX9 MN3Z1]8!6=(7_'CW1N^7*:T>JXNR!#&%QAW<9&ZU%WP>3':V2%^X<-.,7=AY[ ME(V&-346;>\+^+1O(O+I6]DOC9W?DV64.]T^$IZ24TZ &BJ4-6LXAYH"/C*@ M"347GKWCL9)BK; M(/VJUQUSJZG[9*::A[#4Z)AE-K#9.S-\YK,QW-5UIZE>/RVHIH0C6\T_.(I M)@6FU!KPOKO%60Y1EN-\(B9-X9C5*QHW2'X 65J670+@E_40@0(T83V]P;!K MLVO=M>"S\0%K=!VL1-";MS5^Z"]_7+S0*7\M,O]0I+)<;3])N4EA!JIO#[Q( M6,RGZSP)0UPD.?&'$$7/=!"A.G,K+=[=2! 4GQ38-+6W$*/$G*:2J2-+\P8* MR;]8!)*?_O@4_!NGAW7\[LQ!7JBVMZB0?QCKS I ^FG/ 414#V!Y,T&PW 0; M=+MLZ<4=WH/*-J C*>L,00I<8#TM&0#QB>^ (R'J\1!I)^IMPN_ Y(6:@R-. M(:+3:W]A2KV0T"3[.3VP>6;O96\_$10HJNY$6P M3'B+]YXLQ-P4M+^]7>[7DWG@$19J(H93:$HP4>EHC@T.99\68OJ/;@Y0?P,= MWW"JJ$8XK2H309:!_KVZ+CD?W@TS[54<3\8[W5WV&Y37-ZG!!R"Z592'()I5 M)@9"#?U[@5#.9TZ#;JZF.NC3@=T\\#8XT$"KC?J/^'4ZWM'OU'[$>/$MBF-G M%V)W IPDBRNB5K**B,5/L@SE&?C)$R,:C'=HTG 6'79RPE]% =00V,+/-U', M6AN;&$002+0D:,86*>?YO)KR*4B_HO*Y] <4%D2G"%6)"]W=N^>)I(@JD"J, MX\BKN!M1/ =13*6ZQ"E=1FBTBB)V:-1D1QN0FLYC":B-<1]["$*(C'%K- )A MZ/&*XNZU)'JNI*OQ69W9"BU.,IJWER8#?B9:DN%7&2]$\!R"='/5R1KIR0!\ M0(L:>H!=B69T04,8$6E97LG=E=M]9R(0D315LBH?3,I.MX:V&#[,+.T"4IH A%]( $KG1[.ER.$@2R=M1Y,F#QX3N 'XD).1 MYE6YY4/&7U1P\7E;5=G6XH"PK#=($!RW!6JI@ 1SU%9,U&-LW.#D8O,4XRU" MYU&*0E*OU$..$GBMUA$F0"W?D:.MN1Z&(.1-%VVL7^FX0=\,X:-3L84@6$7O M062@OR:.8!Q\R)$AZ[0^DG%;3@6^Q"E''\F]$8/JG:X-6MUWN)G;PJ #A/+A MS?#T7RCP84!=31_DZ9:Y9=CUWW89YZ@:=)(G,\B8LSQ&C@,JWTU\=\3<1@>3 M) O09'%(5K EU9ZLG+L:WQOPJ"86/=+1%*VUVC>(2#Y,E>PXX*[G*WO%V_*\ MI#2!G+(\XPJ2\L[Q/"AXG9=!&)>+P[2YXL"32DI1>+[U&6IU&8 MHT7YX7,2Y=E]5JC&WKH$.J-O.('9P[VW54?&OXF\/ESB&R#PPT,^/-B_&MS# M[>1#@.\B^=W$KR)R??;ALQ33H#J=^_'2.J\&YSJV&&6L%7%FG.@R0?#EBE ">)UYY*JY5].CO0(XU] ME$2;8B-L:>[W9O+Z]G?WK1Y67'=HG3LS55_2JI,PI$R>HNC9(P>HJE>Z8F M--@]53T:\QRYV##HJ'NR>G+ZF#U9VV$D6LI?,X768_,_J>LY=P8SO&)SXXBV M0'7D:.6+4O/W,UES5W"B^'ZQD_5B\FV)HKQ(92^P62+9>I>@+TGG"(<#% ]B M1E%^()58AW<0^HKCT]BVYRCG!GUK&@PGY,^PZOK HQP@#>DH1TG#.>Q''.7H M&=3=*$++#Z3(RL*.,#_*+.H6Z&1JQE M"P1<&ZB4P^ M2V\7HO3#]MX.#WF0+(AS9I^?%D&.R##H_<\?(,]\PNKR\PZJZCK'K!1RW0R$ M6K808)7'DI.+4,5J/AA5=C2B?N9:\1:"/<*Z1W,!A)U#?]"1B773CSE>-U2*#NNJ 2KRB2U_2@T^_ MH:R<'")BCX7HK8DA6-CR:"Z+HS/KMH/??LR5_^#"?_'K-)29"W]1V^4+:Y>+ MEZ>HRNA?647FOS;I\YS7#OTY>^X +3">V]H1WLJ^_>!GQ?A\QT7B#D_*7 M>ZJ)XI XH*;@=+BTYLR\PMQJP\\,H6+Q3NM-W3 @R\!Q1Q&Z@ MJ6*7W,/:]Z\K&M2W_F^+/*.[M62B7AG.=@Q0\;'E^6(^1W\W:A&_O5RL M!,^W_^K'E+4]2BE')F@AR,'W^0DG]^@B)O\BBDKW-8VI<;<[#:C-S,/L6G?$ MS5$#47G3XK_YY2W_+(*4<(BW5PGQ]3@NST1<);^OHW!=6B3[/8ICNMHL\Q)] M*CSOT*$R9Z\PMN9XWJ C8@W\#WX OV^G6$> 1ZP. '\#DDDYVD[O#\=Q2MUL2<)\\H#5;H'M&,+>1W^B@; M?:2H".)'E&[>VMX2[2^)KFW(]P' ]K M'(]E9AN5'2^Z^$]!+$"WWM*BW'F[S= MFET!+L*,R-[6821M]G/U=S?MY_?1)6W=N-/+L8\T32N>,,ODY70926 M =QQP '+YR@B >0[AJQ1$3"KF 90GAOTM$^F#;6F9F65?F\.450:@Y7UC2D> MJYG%BA';92(;3CP]N-.@L8_8^7$.AIXR1,PEM8$.NLA863[)PF6 \AON4B?+[Q@S>K60WS%"K0SW'>>) M'F#K.3"[>$%I&&4T[07PD+ T?: ;22S/4(PDF7-(<=JJDYC?&*G)#4-CYTGS M+@RU@_4(T4; <+B@TF%XC!W]VFAJ(:*C#3<23/B498]A6VTFM%\;?L1Y$(\R M0=%A;7FN F,]YS@Q;KM-8@8#TXN[HN')VQN68B9:2/U_#%:=#<\A6,W,OT=L MEY$V/(?0@W?#XNTTSWW>I3A$:)%=$E"5!V%9W04=-[@>T^L"ZLW,I4PM-DI_ M!Q"*.]"=\*'$WENBG1,00TUX5>P&V>7GL9NI1X[4/I.8ZHIUX?K_V)GC_)CH M-I[,/DD:CR@,=KM!EZ_E*2Z [YQ#PX@M-HG)+4 IR-;]A$\&FACO!M<''3H' M(83VM!U&>HA@+5^[B0C'X&*['?V.,T;Z 4+.N[%/) K6UHBNA'I\CA9%F9>' M:+7+W%-=W-Y=Z8Z#I+[$':RX2V?]*#57QDPIS?C)UE6;-I+=&7^#]LC1C!#6^-# M ,-7Y8$#M)'?8S^ -KR5J'?C9U^S$POV/39*GXEV?+OMC\:7)LK*S>3F]S.< MY3(FT0% _#5[O:[M_?%F@.3<55_M$UE3FAJTC;*;*=TNFZ=X M[+FJG'Y_;Q71/SJL5@OXZK,BX;EN:^%LV7__U,$+4>5K]8W[J84E])*C9'&8 M.+701)?@4[K?%&8_AGA3B7 >96&,LR)%]^@9)05J#"(>\5,4OO_Y_4.QV03I MEJ;JK:Z5G609RNE^UNZ'ZRCX$L6D$LK.41Y$8-$)H%48>P@K^(\-.HV,C8RAB"D M 9DWXY:<*6 ;>9IY;7AJ[P+-5@.LG3H M#;JS VN(G,,B]<&5P!@/7D$3*K( M>2W?[P$=CN3;VE"\0P]]Z#2//)C1F2* ;9FM/ZA[2+([-SC%82%*HV="[!EE M#^$:+8J8OM009.O+&'_[%2U6[@=Z!Q$;QZW(F+223C'.TZO,=!C0RLYZ3JZ M'X,HN<99=KJETDS!%XX("<&'<=A)/?OMWU+CRFY4V<^)IWXF@048?8\'_"6419N_9?J8GO M41@'618M([2@6W+V[.HJR7%EW8OE$H64QAU.RT/5PK,M0[/3 MZ7A[L9NP.X_4!M9\>CAYN0]*3G#S^%.0?D4Y'8P\H)#$,'HL\+"+S/MZMC?: M249WF6D:C><@II9UOQN0RIPD0&>15W,_!]JQWZJ:ORADJ)>MD6L$Y5 M=KX-JNH\Y(&:&?>RB"!HR3BWYM8@CO-9W+R,DB )(YJW>A>9)5N:BM(,*(6E MG>-0"U=85W_1R7P TR84A)5R,6C&%?@&0+AFLY@5ZC!/$AX*C9]PBD9TIZC+WFC M TH69X@,9I<1(45E/D?EK)*[/-^?4/M!)S8HG4%$+F_-Y9?V2C4;(2Q2;/;G?2GZ M[I-C^A8>HI7,7'4$M?>CB;[J\M9B/4G&:ZP:;1!DUX7;)*WX\([DT8DM.C&W MG6;LQ3M]7^^6RG'?Q-^IW''?Y+AOXM/*PW'?Y+AOZ;'/=-^IZCBQU' M\L\/CV0(G!7IEICH(WY&:4)UEEZ1 -5A'$-1QSG2A]I9,;'92)LH0-%\N!QY MW%B<*/Q?^\;B-"]%E+GB3H/P*UH_/TA+2< BO*$46OZ)SI$D0(\05P ;" M6^\L-S&J^%P\7]9[6.,T?T3IIN$]\OP+R@J=A_C$%3Q#DQ0GV, &(%3QN+8? MLA-S&V+)RY.W)\JKMMF@$U:)=Q];4FFB*-6RA16DJC@.D2C:$[2Z/V-Q M/.M[/.M[/.L[T%G?::ZBG#P'44R-=(E3FOZN8:L-O:;^)WTI)Q.=WM&LS:X? M0FO[[H,C'POL9WVO3P!JJV;GS"Y]XP%UF*!K,5F&PL8I7GC M O@(_4,5"Q*THIS\C0;:;J[MOT?'U';,>7EC4Y5=50-5=7MR275MB%^(=SY) M>#7(1233:33VJ)%(6U%\ ?#JG!IJ\)C3/A&],DB/_K5O#I*8&:3IEL38WX*X M\XBC45WVZ0U87>>X%. +][." )AM9JU'.&!,K"SY>(),[F77(J4-)L CH ;@ MON2^Q@2P!]=8&W%2TE;N$7N",S)O*L> ]RA$Q+&(PC=X4X08GH?8D MK5L),$]K5IH I+3TMC);:U+G+53_=9+]V5V*GU":;^_B(,E/D@5=#BG??12/ MJ2%5.H,F694)P$U#9X,AE(PV#VI_FR34KHA1DE5$G*JR!5'OXJ7>>_J(\>); M%,?":1R\:F=Z!ZDZ 0@:V,!@.@CAP>MR/TQT4*8 G@)=[\GK3 !(.EKKSP+EQ"&W=J:Z M=-Z8 "O'_=*RXA6&B8WR(5KV66?@C^D;P4Q[8=P3*'&W )2@ M:"[,5,#&AZ MFMO9D6F2AX2U:>:<.*\EKDZ,/08O^Y&E (3J"IUW3\45)@ ]L+[:J)-1A@!N MFBOTE9+2]57IPNHD0,/5PW IM=GZ?SFTOO8RNQ>+J-=1\"6*=V=7'W(E]%*?]=*LS"()7=XXQTQ."AA:R='80SGU.]_EWPX>[8$O'#K#3-/S" M@K$;6]@Y/+5AQAG,22T@ "24+V]TQ_*;T_'!,YR4>O\>Y>NS(LO)@"+=V6HK M!Z1.5?98*ZCJI,%J8!V+T(5Q'R)5BA]CQ3!,"R+PP7+*V"HOWPVOHO*3!BW4 M#G:#K(AEOQMX?L79]O(G,,+"*DG7H6<65;4L8A&E*KZ 2#K-91YP" 7'SMD% MS3&C)31,ZB_Q^##)KU*['52$[99(*W"S\/$K3!J$8$O8#(H2GE8.>'H1 06A M7XU-:#U8_ST?I&K:9?A>7'/#1O\4J@\PKL?9^ST#0'2%5.%/C 15)HU;#6O8 MGQX)N/*B[#3/JS9LHQY@JD>6$\>:6-=AQI)\).D?1_5A$'F&-YNHRFM"KX+C MA 9\E(1B9 %J=-8O)34FC3RX+:RN5DJ8\@Y*:Y]*]2+&:>]::N]3>KTSV0>6 M??HO-N)7.HK2V0B*=F]3-LMZ1R >I!3:RO<^X:@BTO^ M *OW$W\O9#4I$-9FS3O9-M6MP7N4!U&" M%A=!FI!Q;S-#Z3E:1F$D&A["*S)(AE2<&'BU;=$+KQ!N/(A.->E*URK@&0MX MIC(YR"EU[04Q'G4>I*:YTZ>:CQD>XS4\ONL!]"RM%D*L,LP2HH S;_5&_R)? M%[.CY_Z]#**T'%Y_0D%6I.7AYHS_(TX%*9?)%Q2MDHN755G$6DO5CUM8JD>22M;M[%;7)/ MVS,E?3XI<(.3=/?/TR"+VB]IB2QEB[[(K/WI.P^&(%3AX6TKB)0R\9K1T:)8 MO/7&:2X,<=[LECQ8K2C-^H"HM#^(MH90K&LD%9C[2M9"OD@BSQ\J?K3X!+T MT4.P8-S +@OWOJ. -Q[%N"+WX0O7= :[0GGN09\?'M,R:&R)MA_Q,TH3*K[T M/650'0;CBCK.03L($K&9S030M2EB$^\*T:P\"]%S*$-G>"6"W[RM\4M_^>,, MIT\X#7)TCK[DK9G;&4KS:!D14M0.Y^B)WF7E@KH_H;K5^A":+?RM67(Z1#R],@_(H6!_6E70*@!B_)@ZC&;/U!WUXC=P92P>;S"':UW D$M[PP M@VM1X=E#&F2ED=$LDHD7JJ=YWV^_''"ZW?_Y:X12@HOU]AH]HUBV6J-56;2 MJ:CL'/C#KN68F'#4I1V@@/,9ON-'F8.RMV@ MO+KU>X?2AS5I:F=W8G8W/'>"*.[#J(JSF_O"XNY.,C BJ4*,LKQ"91]"!KCU ML+[>@G&*B%7KM(&8A167YUTN=NCTI8YD (86]/H_2K*2A3//YXNCRM@$JL3> MA594Y1>=7]#&=Y=A#^+MA6)VH4$<,25?:UL+Y4G47BM5ZEZRO./.):NU,L]E#N$:+(D9X20:#RR*G.Q%!7A\BP\N8%HH/ M\U37%X$KH?,W M%#^C3V3^OQ;M>%B@*$T*K4G1>613(428';J/Z41I#OBRB--$:\H NY\UP156 MB%7.Z7YI;99_H2!]_(9[N(B$FH%[<*G-S374)AO6+;C\9_O,E)%%B "BG8?> M]&RX145O]H[!,=O(KE%) '".:6Y"F]CD$A>BLU%]R5EPC8K;P,)G0+OU_NL6E#X UBT\6K$ +6,*EF)N5[3-/WA5I:UF>#-5P"5G;FTK/CIQ5ETXQ#=+>%/P,K*EHU_ MJ /VWH :8@3.J-^&V\$^&F$]MO:NB*^8O,JR H['=FD5%G>EYX-#KOY#87#' MS,H.AZ_X4P\7(5542)S'0%'#$D-A4CE$U-XQ\>)*2G6A]C%X.5Q'H2GG*S7( MS[R$":XOHNQE/EPM4BQ. VIT4MA(:KB[>L%-PH92Q#5,)VTC>).HK2S&T)829Z"5M=0=7--RI,"(W:^AL#$,)I/K=U M.EK2P4_]V\4+O1>7:GF[L:A4DEM',?::1U343$"V+Z$"3=&"*_GY'/$?_ZB'YM^>JEN/:$L-[/,K;7 M*,5LK6S5^=E='):]B)'.R!!NN\3IMR!=@/L!-055@)=1F!":^UO(?DB6L>:A M6O\^U,1072?;[P]NAI YQO>$Y@UUOKW&1/Q> A[P/TST2!!@$-9*KIHL3E&" MEE$S7VJS $VE:CX#,&:E/PR2YRJ;,68K4 .B,\C@,_ M =IFLF5<&D/K:*+6D<1YH(VGMWVTU5RX:-/?.>V7.6@@M-';5%7;[]8JH= 3 MUU3AD%=S#J!46L0^0GDLN7"%[T7NG\M;T:0KW@&V>WP64E0%R:D=?]70V3[H MA,=7W^CO*WH6%!L'9N"W!"25Q+CC5G*.0/-; FHC6+LEP&7E0SY\]6Y:0W0K M5P6,Z0EVW SH.<C'W M65XN:&C^.5E$Q$K1ER)'BWIW??>RL!;0(81 8)<3F@W@->PU$.CE$LSRX#_K M\OJA7#]NSPBS9GMAYA%YQL]S[+3>KQ+!;TG*J@A@R:\R85P";& -F'Q>/KRZ M,61\U J-6E%QTL ;!W(0L.D?7O?KV8-])J[L=GD69.O+&']SETNJD1=L+PS\ MI0-A%?$+!YPJSB+ #YYN/VZPCSZ+F$(FE \D-!?JL_ MD@95F,DN<<:@MH@[CT@@,.&!K:K.F=>1K1F];,GDPQ: -<>J1@^2LZ'<,EV8 M-\LX1ZME]&&8-03PM",, ^2F$ <\OI\X'D\6_RZRO.QT'_$]"G$21C%JJ?N( M@<94A/TA6;$/X@S":L9.-D+;C.:KP^AROVIGW0:HZ=[!!W0#WLJ3 ?8:0N#W_A$AZ<(YWYOVA)W?O MVBD#ZTU/@4=(RTJ?P-V7?368A]C*$<@%H@&6FJ=Y)*0T4T;4@B>*@53IO$XD MJ_)J<*]A.4?PETO(B^U3?9RKLX!?^WI]=16ZS<*OI=II86N]&@_0LY^S@8Y" MR(,?_#+Q0]J@YX"1Q"GP#C&SH$7HV; M&%O5DWL MR)V,! ?T*F.GF1S&\1@[[/K573\KOBEL3DCA=A!"K];KM*WLB=-!Y ;X'/P< MDE\CN9V>MPDUQNV26)78,=_>Q4&2TX#T1)M"X&EZE1GO@E9^-1YE9$U'7@25 M%> Y\$2=?GD.L61*E\[/4?7?ANWJZV+J9Q@U"71?9003>#5>9&Q51YZD(R]O MGC75=)]=O7?+[\3(*'JF7338<<15E2[#J^K<60Q +'4!I7W$V3N -_ M /,'@_USW_N"W35A\1T"4!TE?%MU9H=;L44&!FR+,6\7Q. 8E*=()99\"J(% M<^/])%F4E\^XV3SL$%-B&T9L=J WL.' W@"3"##6A^^A^^XUNQ[M+M@:C528 M>N!ARK[>[& OM\Q( Y0]<]Y06WOGV]NA-CU63(WR>Y2OS\CTADQDTMU5.]%K MNH94E,A64)D=SG6L-C#J%:)8W<#V::N!8XE:^Y/%,TVS"A_PB"JJ8=^I.#^D MRVTS-+@[W.>T3H"AB=$[T!9')Y+WGM^9;_QZ"^9R M8G$XHFZ :24%]6*ZF,+L$ ZUUL! EXAA=0_6I\$(_#*@ /OZ!(S3!WB _$$O M79O9<J&7(C0(KLD;?TIR.M34>7:[[;<_SY)%F=!'&>W2_$A*O%5.GNTNW?N;-!V M[E66O00/:WV]3D]3">:FG@WA>9MXTTQ?TC1(=?JJESM"24B\3DWBE3B7IBV= M^)!:QG[[W5ZY2ATB'O%)^)\B2I&^I^A38!U%A\*<_<38DN.YB8Z(<]K?[L:' MUH%>TL.JCH(;4%!V*!(*<_838TLZ[$XD(@(6(J9YI;P3+;1]1IN JFMYI1YC M:D=W'8M$0M[H:ZKWQ#MZ-YX\DQTL!-=3.42WWFOR X75W,&_*Q@/]?"]>;]0 M#S=@[U7HWBO-LW8(8SN.YADZ$@YR\]OC'9W+* F2\/^T=VW=;>-(^B^UO;V9 MZ9<]1[XDXSU.Y+6=SF,?FH0D3"A"PXMC]Z]?@*0DB@1 % "2(*R7Z8E%% J% M[RO<"H6!3G0TA:OQ#"Q\<@Y:.M$QL^HP)SI@G?QYT>]DG9:3\.>R]![9[1M* M0YP)Z9>2*%NX*5H,-,D %A95G! MKALL5Z4/8,^+HO2._H%:\I5=F>2[!K8/J')8;T.\9-)F)MYG[@W3!Y-, W;W2X3];HD0[% MRX39I0S(RS;L3.LUB)'X@04=$2W.P$1,SAKH/IN!A0QWTV U6QD&'+F-QF_C M Z)-C-I7E@3 UA'1 C9,Q.R ;6 A0V##:O;'7_/;O: C69J^TT'KSR N8'@6 ME%4"L)PB6VV00Z':JY&$6?,]]5Q*":I9._GS?X,C]Z^*,706K3(=>\+EV MA=[;Y'1O:/27WF]P%L8D*U+$7U,_A1L4%2R LG$N4Z\>WF]0'N!XPL?@N2KW M/0>O5$CIT0\'GH07*):F;$;,('_U?ORDW@5=_ K2J#YA6Q9YE@<).Q5X)''\ MF:3L1YCI+%6F9G+CRJ9WA6H ['UQQ;+=1;Y3JFW_VROF6OKSS+Q%"WTKMM2; M#\_3TWJ&H^B^'E?9:8MKP[":VTLP0ALV<"!'L&^8%1_@T(+!U$1?Z(=Y=I=4 MFP(#N0%^)99]0+N2LP.PTS^S97^[55;25SBR<5NNH=CI)HINBI3:L&ID=3&U\.W;#M<'K ,/LY*:+(^UW)H^$IL' M[ZG9CKKN$WS_[WP M&6S-"4\&SYMS3FW.*9]5.N\+%+?G-,_SVR>B,_0%]8J*964:U!<(Z[&^;.C4 M<_8$UGIIMGZ TS!_WGJW:/X?"*\W=(JS>$5IL$;[_9:'%(>(=4%7'5S8QS5J_77RZ=XRNWP)\3T\&M(@+R?#8U9K215UVY;.K,,AP%OZ%\N7H.WGK2RP!*ME,YJ92<;$!:A&&Q+U+YK,4;%B6(52C1@K"TQ.2(U8(>T;&' *D0!9J0E5;L/4)OR#; HA=BE,JH MH71?9G*Z6D;KG<-VK) M:.^6P63,#\LF1C)%-;!N*[%(CN!;<2)^CQ-T1\TH6B#IBM%;^#?$3 YTTZ64 MH>4LKZ_@VO@392QJ\&>2(KQ.K@O:G"1\?TZ#) O"$F))5/XKK@ 7_;O(\G+[ M&*UHF>?@[8&DY2]YGN*7(F?6?B8/):8$1)I&B18-QU9B+B3NDI XTG-F;N#0 MKJ8K&+L]5E8XCHRJ$-NUK36XV]"KT,!%0"O\<.[ J$'K;G(O?' M-%-.& Z##9?4-+AP_D'V_WF]&Q!J3EVK@.Y\!R:R'#?DQ0%,?X;1?^JGG/_ M$N"$F7^9/*&P2,MG/19V8!>F .GA6S^AU?+:FW[:$['K=4W M-*$_R(3<=G_,@=KR*?D_=4=KUV?FB]< Q^Q8H#9)8]G2#3W0H+66? "-@?*] MIZV)O4>F*5!5'BW_\&ZE+#:*;?[9YMM'YY?#?!+RYT(]-LS#<,.^7%K_ :E^+6\%#),[(5V3>#C'(V:O":K MO3Z8Y!!'0VDNA>=ZC\F>A<:@[QC$/5/6V7 *D+I:P>]#2CP5C#3J,0>10*G\FK9'FW:2LF[#P?J[9HFD&#':0U#F_=IQ^:0> ^33(&8P^03)M46P M#S2QU+&O2U233QHOX0ES72?: )GFH&(!-#MG@].U[L@DT\_8=NE7#! SAMY0 MI3<0?8QA9O)!1#Q$J,>_S&Q*9C#K,IA8?:"YDQO3HYX9$#R'3@?7HS\^=H.S M,"99D:*K(J/V8'/ +$SQKLXB]H372;FKF.34JJ1(EXALRJ[S6H[LB=\N*2A M*O2M:Y4^!.56*=)XSD169W.?9!0C1,I7 5I1[?31%)E*_KR?\H36 MS :/:,?FYK6G>U=#.*ALYP4*I;+^8E['>&.!7U$W?Y+U?\_0)I_"*']?=X3"]_ZA%VJDH=&JH(]A:K^9 M..[VOW4=N%R.NB,7R?&/$K:,ZH!C%^EI*16?"Q2ZI[,[A.Y1D"'%@S.%$BU: M2$OX2P!U0XT%=:E&148U(66(7Q#;RE7G!,8?T2M*"O2(0K).L'ITFG*YSK9I M;SE_40\UVG@;G+UZ&>9] L]-7@!6=OK&\%D4,Y/E+'5M&'HM2!OI: MRL[F M4>J>4H>#8WU,'$I-SZ9>$G9+LKJ'Y/9)7_HI!2'7$,9'5&(2U9_M++ MAG''&ZVT=#5,EN82K1JWCM6XTU^@11!9 7]9H&RFL: N4\BC7&*+Z!6E>9FP M])IDJE&JBJ5:R.XMY2^\808;"^.]6AEFW'()Z-02212DU% D*L+\1Y#2B6#^ M+MV 52K3OATC+^,OQ"'&&NTVC%PG2[FM7(#W(UJS2\0D?:^N #\';SWAU@HE M.E-W20E_@:UNJ/&FX1*-#!-,N03JVR!-Z-B4/="UQ49YM:I8J@7NWE+^ AQF ML+% WJN5I'?:5=53."_32,WD DD^ M!SC],X@+U+#:74)M56R/<26B@P)(V?:A@%I9?[FA8[S1-OO5=#-,\>02#Q[W?T*]& MSK.4)/3_AJ@Q!JJM)'3%M,8#N!C_B&')I&.-!' UN<. A5/=T?,*=F.PGHKM M-DC?R2K?H&!;WB%-#Z^6H(@AYP6M<<(V*$*2E,:,5X)?(&Y0&. MI\LY6+>,O:MR7:OY ^>;ZX*JN$5I3U9!8&E^N&%_Z2DS W;4NJ][\?T4%'\? M\=3-%:@AI)L]$"1D;VJ-#VUN-?U" M&-BB6*X3W]);;L[PAIK%'J(5:E8)IG=C'2>E)YWC]#66M\"S);.Y\C.7.4>P M#V%.J4Y4N,UU5H M]'GFZO+,E?9SL%ZG:%VO\6J-GUDB'-%PK5"D/5)+B\S1;VD8P^+X+*U4;7XY M&>*>\9:N=9>K<@N-.L7EBEU07:9/*'W%(5J\85'N74#)%OZ42DX.0R4L$1-[ M"" HJ[B).Z4*YPV_&[(-<*('P-.R, CNRTX.0@BHU+'(-8T C0H: $"YK]EU M6-;:TRGB\A6EM%'H*]K2B9D(BGW?M^$G_MYUR+6P0^!&T -:5>\)U,3U>;NI MTVCS(G\@.,GO$@@Z)87$$.46\@*G_>88 *S<2AWQ<+_S[J_+N[^UAG>L\X)XL=O%."S!0<&*271=O2=*N_%VM4)A7DXIJWZ6 M[ _;$O"&JC?@!V:G7T].,&3/9S[_!5&^6 M-0Y=H?P70DGM3;X4.&)+@+ND:M@5HHL"]AC-8D4G]/OILW1SU:;HSF:6#=$S MY(]X[W8 :UMC4W?3UXZV#FZ;V,I1]6\ZH2VO(GPFJ>2B@F0JIR6CD[\*)&-R M0MF?N)E8S[+@IR=/G;Q>^__2$%**ALV^FJE9T.$2UJN8"V2S-&W"E_VI#E?[IK\<@6?.B$;F_U>9M_38YE.R-V[)6 M#S8>MRI524@S!4BX'DOP:QLHDWL=?L>2O@:T^OQ$RDG7P7S#J)WW%2=X6VR% MW@^\[V-!8@9?S?/&GG<7S*LAP MR*YAXKC(A4D5%$OUI'#ME)HO7;K@EN1OE5O+-A_N><%\O2K-93:B.Q ](K;) MSS:1> %DMV\[:D,4[WI M[NTT\CK8X3R(62* ?4 5>QGC;KL+<,JV@>]))IHI@LJV$P"IE?645#J6&X4Q MBHJI;7&Y$+"^V)(TK]/&5199KNZ2,"V/.(*X? 5FN5J^Y)6'V#>:%[YN**H9 MS*XMRC,^6+3KH/0PTW.B]8SX"@=5_3/99Y'^7N; S5B:/W[L_X\-#C??2%[G M6N&G&K(GM77IPUBJCY2Q;NWAV6-#Y9I(8R>LE1*I#F#ZL4');4*M^;Z_T/I M08"IVB?W7Y_)(50]B5B9_3\?@G=V'/^\"?*3 F*NC51QEXZ#5^PO8\?ML[%( M/7BK:M[/,=7N,4'959%1^V79#7EF2[F-Q\F5YOV*G77=+\ M,V[&)I/C0K,M73GJO( MG-S13Y$#'6QL!Q*BJ^AL94<[GG@[['R;SCK'[%!AI,MT1LJ.=Y?.=U*=+^"= M+^"->@%O7H0ZW]J;%>G.M_;.M_;.M_;&FR .<&G/VKQPD#M[,R3+^;;?^;:? M([,IV:VQ3P87_3IE 1?]/GEVT4]DBP$N^GT:]J+?*TI?R/3^4VZ!"P/07AB M]L(ST/)M,0AH+[R_L7*^4/V!+U2#PP%GX6(&DMH%;Y3MS_9$N0#X7S0O>K>_F!Q[H% YT.!(Y'3R-+G_P'[BL#,@3@S1_[7 ?W2^=@4$W;UX6$/E M@#CNF?=*]7EM>K+G)/&2RAOABC*D&^&],OP9[FP8<=R-\%[=AIBM3;WQ*&FT M=%VA7*Y]YZZ_W.0.TKYYCQXG-^CZZW=K$UUPNZ'Q6L9RM7]#^CEX M6V09*FU"#?>*29'%[]^3]/":].U;B+*,?G>%$K3"><9%\H U-.\KV*YAR] 3T7RN$\X*:5$P9;2%- M5F@(F2'P34UEC&T-!?S9Z]>=)M[W)*>R)M?2189[AU)365\^V#;VT$L*"_HJ M3,W&OGUZ3DOE#E6ZR+:=E15']!/W$/-MD8T%=1:HA("^,M6/%R'.%7-N*QM^_NZ?*'B!;5PN]: M2V/.=WX!5-4@0^)1HL-$B9(LW0S?(?9R:K*^1T&&'O%ZDR]7WS-4KMP%OE6I M3/LFM[R,7X#5,=08SK1'G[E$4AB"_!X'+SBF#5."=^=K*; ;7W\$2(N,,SZ8 M&YJ,L_8;/0/),3< BHX) ):KV@[L<>_I+@93+=%!J9Z$(3U?=Z[U"KZ>.E%N M3][UGNSI+FPT]75$-WNLXDZ00# GI6OFTV*590Y=^TSW=/OYD3 M3F3-TP=+2ZH;"SP[F/F2DBRC0^%*N)/!^:*%EY,OYH06<=/TL7(BTTY"6Y(' M\=0X>:3VH'VP8;M^E U@B5O:1I,"7?"E:[S>_G!/N^INJ#S*N;!ZBX"E 71B$OY&$G+90[O-Z MOV]'+XB_GQ/"5)NMCS-)#3RT?9KEJKOGH,W ME-V^45/11N,D2-_+'3-JJ9 EL">E][]+:,M0)M^9&;1&[N[.0#7.B3/CF5Z? M=8/JR./M/V8Y2AR:7_ND.KA5RCGAUUR^<+Z>'];[FFR*4XY\'L;^.=.Y[3>4 M]\YJN=]T(B9/OID3CF3-,YA;G$KE8>:/6?HE;A09)& 0$B8X+R2I-%"7;18KLK69LLBSUB&$&H"F4_3DM&"(U#&G$!J8AY]Z )KY0)Z MKCF)!&VOV=LQ 0S6?5+4@"V6X@&T%4UD'=SB>KGP5C\N$OCKT4.5EOD&I=W7 M2FZ"/"@O^^A$*@GBJ255"<*0H,6:T=9*Q:8[GPLW*"IBQ)ZS?*5JD?3]ND@9 MCTJK/]..O*+5_Q2=T &+M\_HE(M/YCK 74^,K=-R'JH:G)S<*=?L3RC50\KV M]_/WAY@]J)9$M_\I<'FPW@=B]8(M^*H4G"5PP1:Q %F5.OVY)'TD*+40SM$] M?D71';5@LL:4H%42!* +!DL2>F. I%GBV]QF5GTT0 D7GENWPP!)HYNO;=?[ M\4I4L"&RQ0DSD;,DAT4K6F")F3;^W$HM%&*8%5;V^O8(1=)Q0%2 <'OH% MS!+XVA:R.ACTU^U/9HK22.QTOUJ;0"$-+=X.RU,N/DLX:UK' IC5:[83Y^<" ME(\$I@N9J CS'T&:TI7,^^&6(=!+P\0(?;6JF%E"W-!:5OVVJ@;^!!OND_;5 MEZRNWA>LZ>O*7C@+8Y(5:2_B-:6T'YB$2IDEWLUL90'N8 7LA.A-?Y/Z:Y#^ M1#FC\A.BPUHYF'UC5&<7(6Y8PIEXNKO4/.5Z+E2K%&E13%[$@8'W2X 3%H"U M3-BF=YW!]R3#G7"P[2\J'&!E12<_\%3J9NZ JFP1P5&GK&;^ "JK\>A&+F=^ M2G'PM7<)-48A>+5%\>ON9A7_Z\EQ",(5@;9? $&52EM;3?S*W$K:;>D15O;8 M,]4W6R31$TI?<F_4!PMR[8+PA]A5<:)<+D9."^>37X UOB^W7(&=M?F>/035G#;Q)I&*1 MYLRQMXCKM!D3_D3+SGIT&:%=A_EH;WMX8[\19])VIQ!2Q@B^9I# M#N[79UX(>=%OW=E0@ML4'AL<&306KP&.RU<52/H4G)S*UC?FVM-S'DOTI339 MHR/ES*HNJXQ[PWVVZ331GY#_=NM/1]_&,SUE0M[3#=(J3=1S\"98$EJ5W7Y, MW([L,^>Y)UE#])S3GL!RP[U]@J5MG[9K%%N(]2S481A*[W$9VM+/3D/):=CI MO5FZ#>VF6WWTYI!'8LTJGMIU/*0D1"@JDTXR&RU7XIF7P#_HB.C>#P>(.#.= MRW2#?I@%G6'M4^ L^/Z,(ZF-Q,TNW=AC8_;#^NR;\*U!?4$]@[B*H#.+E<9K M<)_,@LLZK73A/I!PR[EKM.LXR#*\PM0>V760;=CLXY4VE5J&V8Z_%ZTMYG23 M6D/,F8Z\W6O3_G":C/IM/%+QO_0O*SDRFO(,<+J%($D"#2NL<$^(5_A,3>Y( MJ65[IPD);9G"'!><@=V)#:WV5)^:^'@4;;Q !4KK6:LJ2SO36&G9JM<[L^"U M=E-YXRT\3[X+4]]'%#+](Y9R6!"Q9"[/8#+4D_+DA,6U95AV539:GXZ 63ZN>A!V@LNU;"6IEI[MGLM=/FJR# M^Y&HI:XDX(!U&U%LKL@WJ51V MO+JZ-S([=?CSQ %MVI8DI6^77BH6?M="%^>[R9$E!PI1;Z0 35SY311QY/J# MH$9P6)GZC]DA11N49/BU?H17BBQP^79(A7KY^2!1URBZ" 74Y\*]3SO(?61) M%A,4[1\NE,)4_G$+DZ*/YP- I>;JHDTDW*-[*=&_BWI3YC-)OZ%?E&!LZX6V M]B$E"?V_8;6;(%D\:,EH.T>8C,GQV;^X,+$*>+$!K$QE(VR6<&993):K152U M3>HG99^V4^UQ/YT<@WH((R 3") (JOHD31ZWRB'2W3F!QZ-9GMBKE4$:9=]W M;)_V\K>+3[_]T3??5"_;G6NJE)T4Y5Y2:1YNJB[G'=])O^-T\^7&=K!N[O:QR M*,>1R.ED6 KWD;OY%6=4'_9B%]7F ='_C80N[;C&YXY$]@2> ,A,H"MHZ^Y7 M6S>7')S'O6P;%<\%R]<;]B+77=+Q-IHU1/;A&21R8D1; :P,_OKV MY1+ 1%\I6T!ZCLL7_0BQ^[YDT\(/1;%@C0\=GN(IMT\_ZJLAT=GI/Q@X=TF8 MHB!#-ZCZ[UW2#;9\)''\F:2_*,\$J-*4TH(<6(H[>.RBC=BR3A]@[WFA]. J M_3F@X83(BURAZ,..*^Q^.#GT=$%% 800 ]8]:DS[59YA-[O^M#;E4,Z)46: M3P[ #>V\["[+"B3RE[Q/VJ [^<0+N(D;/0#03BH[0NR3_K&(%8@);NB6[:JT MO2E2-A4M*_LSB M4_K8LIY[9[1M*0YRA:)%$?]*U8?GX"ULDICC,4?0]P3E+ MQ+-<5>V_?0O+26ZTR!Z"=S9:M Y3>7-N[\C5CYG$DW:4?;H.78S7'B^"$;Y MJBU3<7[ VA5(/TCMOK)^^*X:A_:#M(-WJ7_L!;J ]\_!6ZUF]HC*L/=G4C7D M!\XW[!XU2R["_G!%C1NQ6&:49&4G/,1!PDW(84MFDZ/F,F?//,MFM9$G),:FMSW5MW!Z0"6KDT1=LN=4T33QJ(11UU$W-;$[VV.BR3>W[;+M,RU! MO.TUH* Y\\6: 0?:G@.JQ-N^&SOE[Z#4J">H%KBA(DF-''))'K,#8,+1Z"'7 MB<)_C1N"+T3!91A*O3\(< 1W?)=;##>1"75GAI6^$14;-F.$?5D]6H MLAM+Q+9.2BFEAQ$%QHY4K?C^XD#5^D#3D3O'/J>';P!O+V*>*7]ETX/;[2XF M[ZC:P'THTG!#[<6FS1K3QUY9@!FD1)8/_+-AQG'GD1*M7$BA.\)44F@!<="6 MD33(E%(FS6.^ $TY\M12II='Z6O+YCVB7=W KNN0T4.E'(\(\G+>0!Y@GH' M+=? ,'.K6P_VR=K+W:6&%P1 V8<]9FT#C0OFO0I<-*O'';B%9E%6KOK1K^5* M_"PMI&@+T6I%?<"TAI'LHUI-"2ZNYQGX3AMU;*$ OMQO6CAM?>,#(&7-MH^\ M5FU'B/WW$6(:+_=.'P:L'X?^U\6'CT3OF&"Z6/0+\$%O%2E\FTP^= -#T<6X M\SH8?0RL]8>C@\],^2B;X*F*5QQ=_+$+:+$M#B=[C^+V+4\#:DRI>L4O2?@O9[J=H-SL*89$6*GFF/ M7U$-?@ILHR&A92*0A,E]"P@+Q(:=1*EL%11INAB0 N.D9YS %W46,-^"-*7B M7ZG7S@,<9Y/Y)YYN]<*JQST!2G93XO>7G# )=EB_TA:6 &#O/BED [\N4D;B M:L?E"JT(1;9P!V*0.CHIMZW6,;D+A."-C&-J@8]4T/0T^;=5#2$Y(49WA97J M5$^4'5]Y8\$)28AC7-;"'E8*\H*R^_V1MO^9W*Y6*,P/[::%V=^G=IP'98XC M68_#5"C133T@+C'=.SS<_CCMQ$7^&5&H!?&A+T\^%LUX[4EN3XAM2)[&"?S(%GCEQC=DU_T.S,TJ\B$(ELNTSN4 TPX,.+EFKAU.URE M/?7;570TNL&O.*(+PVRY^DQ7I7B=+%:K\C,6C1X*4$+ ZO".(@8D' M)@Q,,][P,?:5\O%6"=\(VXU]55K$/_>$T;A=FU_@Q1'&T,:"<6ID$MGC ?Z=-KM.$I MPE.!1P/U, NWHG!A-J@':RL\:,DRHL%!EM\LX)ML3!(<-% XI%*_C3X_2M1V M.#W0PK0@PP=F%M%FB*IH#<+TB_:1/T"##D^G?H5X=!K[;K?!3L(37>4%.]K* M_R4OV5.QH_\W?TC).@VVNAL'"B*A^P12D7,AP@ &''@70*K(1+>S30XZDK1* MS? WBN@'5RA!*ZR]/R:7!C[T$$CS#MQ*9AOZ $2@P[PO3ZNT?/_BS4W=.A8F ME64HS]@EW I6<4Q^!4EH$C>B48O&% E4RUQX-(Z9AY\X@70SO/H]^8I?BIR?G72H.L#',: ZYD*I,4P\]'$,2#/X=?.Y#6-EG&XC M;Y?!6"42I3$@=47-A2(6#3;\T-)5P*-+Z7P#7!/V.F'!TN#O4%I: 89YF0 E MI/,%^(%O!>,,@6I^M5PLPP_321[$BC>QZE_8_[ ,A__S_U!+ P04 " "4 M6VQ25J#KZ/1O'E^'S?.?Z2 M-FD',J2=ML?1N--&Y,E\@5B.*3ZO]#B3U1X,"1VWP =)0AP#AH= \!"R#X? MM+C #(O)7]P"3B.2;J7SKHCB<\I%"^PUS"<=GJ/>&]0;A7IG4#,X/;<%&!D'S&';!," 2&Z@"X2%!?)C@#+E DY4,D.+C M/1*%I0%C*?@CKJH9,B@NA+#/!92$LRP;A!%)-/IT?YKBO)\2AJM!&K-S5FMJ MT @BI"A4/2XE5^Q/BHV21VF+P88JQZP%A$8H"]PT K1ON\57L6*S=/MV'B^[UU^LO=]=7W8T9:%+- MK*/6[:B367YRCN;89^IJDLVCN%=*0RDQI?6R%)3,ZNAQ&EI"C^(,/*?8/-8P M:0J<1N.]"T(H^H1EZ]8%?K,P)JKQ[5,//O,BR,W MCVBQ0%ZIAC\&@L2(^+HN -X#W_1NU"?_%[8N16S\=K4MNPWQ7Z>LR97 MA"7#RP&>&U_Z8VFI "_''A:_(T4O!K\DJJU5J(4CV2V?O:@0#^H>!R/P4]% M/%S(<;:66?8;JF7'J]:RXRW5LN^<:CJ;*&J+AK1;AGM116Q1L^QM45M;4?O8 M561@Q 4^ +<2UW1QL[5M2\+D6MBR9MG;LK9*6;L,"(,'X)+7#NW]VC95N<4\ MHGA_[W/3.75C<(>C@4>)K_]O,QKM^!\A.Z:OK?,(Z6:=HAB5W?F+9TKY?DR..:D?J MDS]=W15;I#F+)13RK3O%/(M7&@=:XT"L6V&[Y^V>MX[8F?=LK"7L%6#>%6"W M/&%O#39JC/(/D2@]B[)[_NP[>5>\;EX<_P=02P,$% @ E%ML4MCF:BG* M P U!@ L !E>#(S,5\S+FAT;>U9;6_3,!#^SJ\X%8F!U+1YT09K2Z3Q M,@G! #$0GYW$:J=?3X_]_CQI1UE>I*' MHT@D\W"4L)_V!92>Y_1E)Q5<.RF9L'P^@ /-)E0!IS.08D+X01>L90AVF&*_ MZ \M]##3OBH&B46N9 #>.S:OW+X*NI7&_4C1OUBHR[#F;D#X$).2%[:?A+) M"+[G;$ST5%*UQ1^3HNF:43;.]-J84ZVI=%1!8L;':[N0148XSO:'H.FE=AA/ M*,>);G%96K3$ 2F.-[,X'<(L8YK:4)6$9RP1LT6B4;"/.)+AC&,@&5 MEN*".CA#9]6%$AH+2303?(D&XTPS$[WI+R%>^7/&J9.5>_:.>_XJ*$'P^ "D M<=4KY]O*C4PV?!R.C.MJ/.B$;R\S%C$-?M#S1GTS*QSUEP'[AEVW0(PUSQZ8 MI944D'PIXGPOX:%0LBS8AJ\&*&@=\V2#S-,I9#"=Q+*9<8XGAE,G) M2NCJ;T4;Y@;"':#_F"K-TOF-4?^C6"Y/>R=\PB-5#/?:^&ZR_=M]M_0OM:@U M#B%/YA&5GPK-8@6O441*,MT$AI7R,'Z7@-E%B-YA*R5V,J@3GC'.*2E$SE07 M[ 0H!?WS4-#X_\HR1\*3A<(/ <]M2N(GJ=\)G M1M.W'%OC$E.)H*)%0X+@)6"CAV=$QAE2J@N^ZR_[V2Z.S(D5_[(^IEQ(Z,7, ME''"8V05I5/F^#O &#?@U;9[4*EJUO>8YWKLA@;),2,% 4E4BWX MR91E(S6QA=7;Q/EW=WS=MGIJ_ZK-Y_@ MV_E)%SY\^-P.XE_:SR:0]^'&OS*M][NW[DS+UW+G71&!!@'P7IK&&=5P=G[0 M'G>',.U[D[8+[@[%>'@@O2'";D-N/$W\;[3Q K3>.4X$/>Q=368/Q/@3Q*A_^5A46@YK6KXN?L#HVU\S M?@-02P,$% @ E%ML4A1=3K7Z!P >T$ L !E>#,Q,5\T+FAT;>U< M:V_;-A3]OE]!9.B6 G82.\W6Q:F!KNN 8=@#7?\ )5(V$8K42,J.]^MW+B7Y MG<1Y-',RY8,3B>3E)7G/X;F4G(MQR/7P(K%B-KP0:A(_F \S+=\=I%9;=\Z^ M/HD_ Y99$[H9SY6>G;-O/ZM<>O:[G+)/-N?FV[H\MCUGQKJA#O%\5NK M$0^ED_Z:\I07ZT53J4;CL+BI90C2=7W!4V5&B_O6%6-NT+H_8$%>A:XR0AHT M/"FNZCO!H4*&^M3*R &;CE60T=22PU,E[+2R,[5.+'J*AN!/7ML/B'33^>#56B0KLM'?4NSBF5L.+X\;@,0705P^/H,K;DR+L64C5 M,^L#=^$%1=EW,'EPOW#XI8_9KJ2^Y,ZK#4NF"RF8LC'DXG\=(&QK_ ML]"X2-QP<_7Q&7BBY79KFZO^J'1_X\3>-C$;\5?/>N_DY-6 Y=R-E.EJF9$/ M1SV:-R!!ZYJEWQV<5-=UI_$Z6GAW0!8.AE]A9AQ-CVCFIN[@S:LYUU>N8FZ/ M@]A6]8?O7BU*CRMSJS8G!,Z4ZR9@L7F@Q0HP-R-@<^S-WE./]_Y1TCM:BY'U MD3V.P_>E-S;F$\FA&S!P,OS&)+P8W8V6E MSK- 3'^O$?,C]\ )0)'/V*6Q4RW%2'8JX+@*,<)26QM8"IM<&<;-C)4FN))B MG@>9(TP)2ARLBM!&;+",I[CEF,VA/8.MZFU4,#*5WG,WHRHYOY3H=\FFQST! M9]"EIJ%3'U0A52XMJ2P&;0/$2G#I@ .7TC!4 (?$'\8K6"X*HL>G7 MN@8'"46&.U2CU*@ 5K" ;NS.1W]2[L-N"_PG!?XM8CFG*\X'[F[V&^^<5;'SS]=M^[_N!KP%='PS0=FFS3.'R MT+^.P/F%<2V:&LO.B=B>JJND1? MTIF*(\@^HWU\B3HJ*),O.W>4K724H2,:YSJAH :E'>MG)RU)?!F2>+N#0NC_ MA[G"Z0,.80[YZWVFBY^D1Z= 313:MT.Z0SE RDN_>Q,2XXD$/.N>*GEO2P<# MV*8GRL?-'[6DB7;HV'(A&Y:EAY.:1[S7^GZ!V4XM2ZA004+ %V^U$CQ$1Q.O MA.).T0!4E85$,63(4NDI,X@,Z6,:$:6"]1(.!40[-2HX+5*I.2D<#"LZL<@P MT*+*5Y;3+/R52*H($8+V4K2BH^63!_-)\HSX9.<-?(-6=M_Z=V87,-)$"2(- M[JV)(.,>A$.'#L0DW(D&U> 9Q1.E59A1OK&M6^*X2 1VQ4]K51=.K2(4NJJ M'E!1N@+ O]IX/^RP.]V&O0_U3A M:1.7]("B3NECR5;PWT$S4(9AT[1TA+XE.;_%:FY]P/V4CC0S^ =#?Y?(!F#Z M\)HF&6@$N_E:[=KQ%.".SU;HL4M\CEGY];KR:LS]//"E4L,[/[T!(">):1* IQU MQC _CIQ*?DDI0)7 QR0@'CW$=R.:AY9W@GQ][]/)=\C M?<@(:EQW*O6MS,3JB20);OBH?@_*U;I YH6V,XG2Z=A6 M2H"OL 90_BCYR9U>56Q?Z/Z?O]#=KOXS6_V=OTUTWU,4<-HYBTV'OW$';='K M=UC_I+_XOE ;0\\\AM:VSLVT?GM_,=/(PSO+K69=YK13 M7+'XDL0"[_<>ST/4V;$_7O\.V_4"Z 4NRW\RZ7_!9"3B=JJ_]%3_SG-8:"/\ MB:?]LPK89)>_5%!]_@GQH6A;C&^OP+C3UIF1;4FIV\1V/..FZ4Q[YS9W':166W>"6-=(75S;RR=DOBMU;4,E2-_1WLJR]6F":GK49C?U!0"N2-?RE29Z_E] MZ\J1-!@]/!>!;L.1,AD9#.R7M\V=X- A1W\>9>A<3$8J4!2UH/!$9792RYE8 ME\UGBH*@3W*C((L%^N#L#1UA1!@M3I11:IT,RIK6&LJHH%CZ:GMCXEF[5H:. M1LV:!R^/ARRTE%D&%8X2&X*%]H/^XMU@R_96E"YA97,F',MH]T3]!24&PS*< M'UQ>\*UVBY>V5)D1.;5AT/)6)%9GD//F=J02%<3SP?'PXH1[7%Z%:=J;.N#=.$+\K,?(/+!CM&/WO1K3_Q&>>YH*JZ.Q4_D FE/IB=2 M?%7Y5(21#&>=?_Q;_>,B<9?KNX_/(!--&Z5MV/6/ROH?-.Q]AEGSO\;J@W[_ MFW-12'>MS)&FG'4X'K#=@ 2M&[)^=="OKYM)XW64\.J )1Q#[;]B:)R';U/CRAX76DUK LI0QPS&5NG51G!H8L03%]3U?7VU[Z#0K?+Q? M#(Y7O&)U91]'X<>RFAC),0E'8T43RD!BRHLK8RJIQ3LJK0O"&O$+O HCCOXC M;"Y>3Q-R;TOH[,5K^&7C0)N7&;>(?S$(^'JG,?&IR6;-_O=!YAZ4?&L27YY_ M&"M+??8",<.=1LQ/T@,G $4Q%3?&3C1EU]2K@>-JQ&06'FQL$"E&2V6$-%-1 MF> J]GD9J(";,I0D>!2N#=\0N4QQRPE;(-(,MNZWUL%02MY+-^4NA;PAS+L@ MT^->!F4PI>:E\QS<(54NK0IT,Q@.33)R?!:G(^$K_IB/GY"C1@@OH%!>D^1M M!7+"" OT):51099;0C6;89G8$1@EF2Z:X7PK0NB8H&.".['V?#^9@$2N#+#& ML)UCJP<:0'ZJK##*!WP4@]8!]Y?14E( ?,PF!OMDB@7WN$>ET0%\8 ':.)V/^J32CT2N 866+!Q=*\]P"4+RS5IO:-E; MP+QOE5G3MH-]!_LGPO[[G8;]^R6,?/OUB^'@QW/? +LI!O"!:?-8B9VJN M8/F"3_(%"JDAS;IL/5&^-%&.B7B=J\2"'IQXK-9+.K+X-&3Q8@NR&'Y&LGC^ MA,++H7RVRW3Q,WE,"M3$4/M^2/$N"."$8RGK L^.CYY,I\D>\0G6Q_@:[2R_=&_-;N D<8J8]*0WIH( M,NE!.%QV8":1+FM1#9Y1,E%:A2GG'9NF98Z+!!"Q7=/34M>%LD4,I6Z;!965 M*\$M/N9)*>"0105B >.:#-(?#8I!"Y7,7=RE,J&F$7"<*A'-=$32$7FZD#D#0Q$).'K&D1BJW"W M!MO$2W+6F[C DM]?FA1)6[J)5$BU):#/.0OOH+];T-\OT&<[#?J?:SRMXY(? M430I?6S9"/X'Q R<8=@TK1RC;R&G?>[*).JK9P5KI/E5)3[_,*FE\'R%K::HW/ZHYK3 7K_"SWB#<@LB@48$4?B(L2B^R&VS,%_:*00Q *PA#/80Y^,[): M%J0_*P7U(^-5)HV/8YYUQ= ="SSV,>?8[6+HE4;:CFD50,_/ ?B)0JH($&WR MAEE1-O&[>BG)-C$!%J>V4T#H9V3HJ MD$O< :Q_E%SE02\N=B]T_VM>Z&Z)8\%?&MB3GD'[V"B<_+/8/KW*N"XK95>_/Q#I23^AUA$\2G9$Z]_>1OK)*_?OGU( M#M:%47L<1GV:",DKRP'ZZWOD"_>T#:6;;&HF [$N1^?RG>_(LNN^'O-&?23= M6:/NLL?X"T(]X_3JP)%']MD/-;OZT2KD(,E!L@R2Y@":U_V;8?LZIY(<)4^A9-!NQ=7FPCJ#?@>& M/[5AT+S]U.RU!\7^;U_:OT.S-30]%JF_"D")XR-W*,T\O HB%4:8(J E;-TY&,\05P8:?;,\>)!&T7!#NL2 J!$1 M-"SVI]RHY\3!--Q@3";Z>T:%DFYQ!IW.>YM+5@95MX$89?6(+)NX'XTWE&[(6(\)2DOXGR&9#8.N"&(.6DH^C5BBHX1>Z$! M?Y8E=O68G!BRL#\>NR?SA%E0S)Q>TJRQ+ZJG-9/M6QT21]/\F-PQUWE"Y0FU M#;*55Y]03!@()?4=-P>:X&HNML8)DF4;80K3+< -GDFL@NDFG",H$+NFUF%' M@)D6)J75F]= %.BR6+2IFS@JXDE>RH F, S7ZN-V?SV=;_D>]SO;XZZ!>S75 M%FNNF+LB)3-LVZ[XF>2[ 8(1>@@#A%9PC"8V9_^MQL4H^PWYT3+D]Q0UGB[W M_F-2S+R'N-B,R::I2XXZWX%NDCD9?3^;#[.PS.^*@BF$DC-WD>X[F_-OZ+,< MEM?O')YFK[<7E1?Q>>[O;^OO&RQXS%!Q7,%;[?4SRMSC^_9XUW#ZM= MR6>DUEEF3]&OEJKX69P4YQ#8*P2RT"4Q"]*K(&VIEY,WC\OQ:\A_ E!+ P04 M " "46VQ2,,+(E3X, "900 "@ &5X-#5?,2YH=&WM7&USW+81_NY? M@5$F3CIS>FTR;2U%,[+L-)YI;-=RVNE'D,3=(2(!&@ E77Y]GUV //)>)%F5 M7$6Y&>N-AY<%L,_NL[N@CZ:A*H^/,EO,CH\*?<'?A ^S4OVP-;8F;(]EI%0!'45MF6I)^:%<'HR#8=; MQ\^.ZG;851\?9>[X:+=&,QKMF+\/Q+A4U/*%R&Q9H/WKJZG.=!#?[7Q_M!N[ MI!\\$*WDV4,MY4;AH@Q)J@<1)5WE?*5\[G1-8@D[%F= )\9 '>0H /20"OG![S,KK!O=W.=*&W!ZLUUE6R7+DAK=P[ M)/G6\4D3IM;A62%.9:T#5O';0*UVLP3IAUQ/5.J'G^?&[8B"_"_?Q;O&"3G? MU3SN*B:U^;G(K?':!T_H./A^A 71E_!3Z10_S&U5 3S<>H1S%+5TXD*6C1H) M:0JQJD_MU%@YA\E6=-M)8GV^X-=:?Q(,[H M(#9 NR/0;G\<>G5#?MAK]V-3EC/Q7NKB:% M!=H'L,('8LP#U1B(D6*LD=XK[V56=GC\\9HVHE+2> 8=#47@!-:\ M)UCF?6 M\6>K)1I(@UXB4\K,)Z*.4SA#Y;BU;_)IV_E28RYC WJ(*(RB/C,ABT*318 9 MDY5M#.P7R=#KVZ[J9-AZ:/S"5 9QB=7)&:R/;Y2 LL5%A@;;QO/+TEL2X-H] M?'JFY?>(EU?Z0A>P]7X1+C_-]6N@C73P3N5*7RA1M)W%Y13Z6:B\E.2(LAEC M*K/2%31 H=$C6!JM83\S;JA3JTNY-*!<$TG*T@ A@5S?;#YZJYC_CFHW^(S4 M+Y=^.DKB0:4MU-$!9K96+LQV;K$>PLORFH 179)\4XGG'HS*CS561TNS&9@B MNQX3'C?H_"O7_EPUT2!^H^ZTAP/I 1ZZN\K+QI#6UO83. M01,N;(!1-S"!)50K!.H/%? 4W134@+2'[6W2EQ'TK(1-%#]K8Y2W08I27HKD M'G*HL![K7-*H )+R"%!8[]AZ S@#!X*C6$DGQ01"^D4U9?RM[T.M.=+NKXL$ MDE"8M+867:\EW$@<>FF[0%*Q>AW*M %&Q=$ S[@3&RSYDW5E*1VZ*Y=&H#-_$7$#.E?9]A'^$A#GI;T M0+%DJP\P[SP@)A>5=30BZ>V2&O"(JK^J3KNN?TS6&B".)EI6!S0DG M@QP!>[EU[.T2[YIK:=+0J2J+A,UJQ+&/4Q5\%O6A^ .1#Q9 !H?CM,"A"N0, M3F?-&B\-D!-V6S((<8@E%IUVMRLF[8Y^5,'^+'+!:](]B16V3)?L+":+$9:? M)VT&P=;ZO6,A*8/DE*IJMDSLR9FL9LV,=Z6VKD4C1X$\60PHNPG79IXH*,4$ M.,1S=@8@]'3$6!%/R-N /?+,D"W%U^8"DO)\CHA3S#M%J3:H?Q2H_PG"P=WCZGY>O=_CW_<.GIPWWE^HG[PL*8@$F\7Z.L%.TA8G#WFO#QNL$V,[+ M>$QO3#XO-3%]H!8O9V!"?I.YO"/Z3E,@U#=SX\_:>J;:%?%)'02'@*4^5^4L M,BIJAU6!D%9$^B+!@J.*AI.-K;>5(AH=/Y,Y<]J6T<'@!@=\S?.;-8P^>+H. M4\K"<'0)J6GPU&8Y7],S_U[UETJB%ZJ4&+!0S&HIXZ(N:+2@3 P#Q^R:G.@4 MEF)&>(<4( S\*PV8J5)C"+8DT=$A\,@4P@9-M4'\ KJ@#6+NZ/]O.4_%,2S( MN[T\[(I4*,B1D3<"0Y2C1-8(DM)%#W;79E199;PS#F*)CY6/4 M2:/(Q!X7)@&YOP*&S"6UOIE"0%1,IK<6NB5-)Q04A?]M MWW)VN$EZROSFB$_G!"]Q"#)*OJEP]'Q3 2X40\U)=BYC,)98]DD<7[R-XW^( M:3""4US$JS:=.-_".,593VCL:6V]+/W_E:_S%3DIIC V/VQ]]?'=*?1C5_9O M!"U>I[KV[PV(%D#4._'M]L2O@=/9(DYJ[I/2@UVV+UI[3@";GHJM!2 S7KIO M4_ -%_;9^&<:")-2AEWFITN&&'!HRJ<,H!91YF^ F5><9H;#&L"L36_W6A)) MG8/RCX.[WT><_(OI7=_*0)A^,8E9;*[MW(.U&593"DNDB&OH,01=R4YCO7(V MH+>]0UJ=55KRGS'9ZB.)[,,H52E6Y)Q:\*8PN:YA'KP5I>5\< J$>XFLF"WV M-R>S1M='D"15IL28(,(IUBEOO',8+K-PQU048-:GRN1!*TD!PK5YG):6U:D7^[Y7 M$K7Q_7>U;_/@,Y5!5Z1SO5+G*=NR+F#N;G' !_XPDMI$8HQ-G_RZ%O#X[/%(U3PIY#03H*F$V3ZYIYB\H; M+G5;N8\YW@VY*:RNR0*#:Y8W]C+Q=++=>O>J-A=5&QEN4I7 MM2J&=[K29@N9:;XLUUF>]N9F_Z+2K"7=3]O\"[&>@W=UE\.X*.+\[=_UIC/J!-]^S7I'*F"=97K8V MJ/?*,+VR-W!":ZJ<93(;+-4H6B;ZL[!U&,4K6[6B;$4OV;D@7*DK'9(A6Y,@ M[5Y+^CRAAP:/_.>*[1RLH#?GES,,-RK6X)7DMCKQ["APS)[Z7>HB3*G/WM<+ M,S__U-APN/"JFLI:98 /JJW6O M6.^& @/LTC#T@\1,;U&W(R(T?NF4/.\-.U';&3W:CI[P!4[F$J3J=N]2]VLM MCZ'DLG1B+%3[/?XO#+O\7S+\%U!+ 0(4 Q0 ( )1;;%+L5@K>>J0" +03 M(@ 1 " 0 !C>6)E+3(P,C Q,C,Q+FAT;5!+ 0(4 Q0 M ( )1;;%*BZ[6!1!P /U 0 1 " :FD @!C>6)E+3(P M,C Q,C,Q+GAS9%!+ 0(4 Q0 ( )1;;%(M[#6)E+3(P,C Q,C,Q7V-A;"YX;6Q02P$"% ,4 " "4 M6VQ2U26-@L=< !T8 8 %0 @ &5[ ( 8WEB92TR,#(P,3(S M,5]D968N>&UL4$L! A0#% @ E%ML4G0PP-A*70$ "P 5 !4 M ( !CTD# &-Y8F4M,C R,#$R,S%?;&%B+GAM;%!+ 0(4 Q0 ( )1; M;%+J#/M(\9\ $5;"P 5 " 0RG! !C>6)E+3(P,C Q,C,Q M7W!R92YX;6Q02P$"% ,4 " "46VQ25J#K#(S,5\S+FAT;5!+ 0(4 Q0 ( )1; M;%(474ZU^@< 'M! + " #,Q,5\T+FAT;5!+ M 0(4 Q0 ( )1;;%)U$]'-] < .)! + " >]6!0!E M>#,Q,E\U+FAT;5!+ 0(4 Q0 ( )1;;%+/Z^9?, 4 (TL * M " 0Q?!0!E>#,R7S8N:'1M4$L! A0#% @ E%ML4C#"R)4^# MF4$ H ( !9&0% &5X-#5?,2YH=&U02P4& P # #= ) @ RG % end

-8?2 M0$3;8T.P6BP^0"X99K>]9!:G"D:F8J"0:I)Q>?OU24IR.$OG#OHS]Y(A2Y*.AR#.\^.UW8[_= M&?--_*C*VIU,5DVS?C.=NGRE*NG^-&M5^S.%L95L_*&]G[JU57+I5DHU53D- M9[-T6DE=3T[?;N]U9:?TP#0J;[2I?6%;<*O5=_?[?'LH'K33=[K4S<^32?=W MJ2:BTK6N]"^U/)G,)L*MS/>_C=6_3-W( MN:ZDD7?7TH.<3-*9OV&AK6NZ*[K[2\_XH/S%_=&F,1]TV2A[(1OUES6;M:[O MV]OXIYB2Q^CBL/WL@_C&_I\PFJ+0N;HP^:92==/'T:JR!:S=2J_=1-2R4B>3 M[27B7;T4[^O&!TE\K/M;^6O;)_5?_7'9/W7C<4D,[1OM3]B/RPZ<#_+<'YM2 M+_VW+\69+&6=*]$%UQ' $ "&!P,41U>20$8 ,MHCY**%:/_!BR+.-T[5R3EPHEUN] M;B_HNJ*%OJ]U02#G '+.'JTC1VQP#KF!?K6CVH>J/$MJ[9[R8GZ7]IKP=2]\CJGQC/:BBW78 Q<)NELHG M'"M5.Z]G+[[<5(JR(:<$S%+Y(+45M[+T5?Q92;>Q?0.F>,@F ;-.%BMIU>LS MZ7SWTH;1Q_!%RH!$$C";Y(N_;U^AXDI9T>%2-N2/@%D@E\W*(WW0M4\4M"Q_ M=\_")X0T70B00 )F@SQ&[T;^bY(N 61AMIN)+ZWOQR;>)(1=21,#LB'@6 M'/WS2GA!B+YR+U3AS=8VC;JQFF(B901[BM>6DF$@Q(;-B=B5N&9F"C,43:B9BU\SP5&P6$\UW,PH')SJ GCY!P(F;A0'T/,9%P(F;A8'U' M%!,9)V(V#L:,*29R3L3LG*P6&L/RX. M8F84$UDH9;80QIQ33&2AE-E"&/.88B(+I0?<1?"UV_/SA GWH>UQ&P&1Y&71 MNXEB(@NES!;:C7EES0-=&D^1A5)F"^W&?-=.V%!,9*&4V4)#3#JU>:$:2:.9 M(0MES!9Z%LW'&:YM, W%1!;*]KH.1"O]0A6#K;L9LE"V]Q6A0<533&2AC-M" M+S"?(FH*,=@9BRR4<5L(8M+IA Q9*&.V$-SY-,C>,V2AC-E">#&09N\9W _- M;"&,2;/W#%DHV].ZT#@FS=XS9*'LD-O=!MG['%EHON_M;CL7 ^?(0G-F"^&% M:MJ$YLA"\\Y"T^YB=_IVV7<77_Q7.%^>RS*_LJ+]Z'9+AG'2[I@L-F5Y[LLN MZT]&+K<_E=K^S.OT/U!+ P04 " "36VQ29LT1.G0" !M, &@ 'AL M+U]R96QS+W=OW&\?RCKH?UKAS;X:$[E]/ER*;KC^UX6?;;^MRNW]MMJ66Y]+J_ MGU$]/]W/7+Q^GLO_3.PVF_VZ_.S6OX_E-/YC+E[=5U;^\I:J>.T@@2.8/4@C2^8,,@FS^H Q!>?X@AR"? M/R@@*.8/:B"HF3_H$8(>YP]*2Y1Q29 TP9I ZX1<)P*O$X*=",1.2'8B,#LA MVHE [81L)P*W$\*=".1.2'BOJK01Z*^JM!'HKZJT$>BOJK01Z&^IM!'H;ZFT$ M>AOJ;01Z&^IM!'K;Y&4W@=Z&>AN!WH9Z&X'>AGH;@=Z&>AN!WH9Z&X'>&?7. M!'IGU#L3Z)U1[TR@=T:],X'>&?7.!'KGR<=* KTSZIT)],ZH=R;0.Z/>F4#O MC'IG KT=]78"O1WU=@*]'?5V KT=]78"O1WU=@*]'?5V KU]\K,)@=Z.>CN! MWHYZ.X'>CGH[@=Z!>@>!WH%Z!X'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=Z!>@>! MWC'Y69! [T"]@T#O0+V#0.\&]6X(]&Y0[X9 [P;U;KY3[V'\/)3AUO.UQNM_ M)]7CY=QRN_QU^;5S,DIC9K$EFV@O/V<%) VL0I4I'TWC5K;YSOQD7Y7O?KY%"@M#D,_ MIDVURSE\82PU.QIL3>5"Z+O&Y;+.'L;VKY3ES_UXH!B[EA:W+N;O;BB[V*%G*3_UE.K3)=[HT6^W M74.M;^Z'QG)='H92B&*N3O]BJ^)I?39[T?3M%MJWYE=KO?1Q_T\C\3FQ_EW_.>,7^M_ ML \!TH<$Z4.!]*%!^C @?5B0/M8@?5R"],%7*(V@B,I12.4HIG(45#F*JAR% M58[B*D>!E:/(*E!D%2BR"A19!8JL D56@2*K0)%5H,@J4&05*+)*%%DEBJP2 M15:)(JM$D56BR"I19)4HLDH4626*K I%5H4BJT*15:'(JE!D52BR*A19%8JL M"D56A2*K1I%5H\BJ4635*+)J%%DUBJP:15:-(JM&D56CR&I09#4HLAH460V* MK 9%5H,BJT&1U:#(:E!D-2BR6A19+8JL%D56BR*K19'5HLAJ462U*+):%%DM MBJQK%%G7*+*N_Z>LO[S??W+\_*P'UXTO^6S^8_SU;U!+ 0(4 Q0 ( )-; M;%('04UB@0 +$ 0 " 0 !D;V-0&UL4$L! A0#% @ DUML4JPFPCOM *P( !$ ( ! MKP &1O8U!R;W!S+V-O&UL4$L! A0#% @ DUML4IE&PO M=V]R:W-H965T&UL4$L! A0#% @ DUML4MY4ZV%Z!@ M6QH !@ ("!^0T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4O+'C?YK P 20H !@ M ("!YQP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ DUML4IU6V9ML&P 4\ !@ ("!DRX 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ DUML4@68B2Z( P (P@ !D ("! M0V$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ DUML4E62PB\'! Q0H !D ("!L'4 'AL+W=O0 >&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4I=^P^D; M!@ \@T !D ("!/H\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4M/< OTF @ GP0 !D M ("!>9X 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ DUML4HA'9HAT' U5L !D ("!3:D M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MDUML4MEQEC-Z P 60@ !D ("!=LX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4N:@J7%$ P >P< !D M ("!Q>L 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ DUML4D(.&;+W! KA8 !D ("!D?< 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DUML M4@V+ZX?4 @ K0< !D ("!4@(! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4I0S/4BL @ W08 M !D ("!#@P! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4D7<@C+8 P _1( !D M ("!(A@! 'AL+W=O&PO=V]R:W-H965T M 0!X;"]W;W)K&UL4$L! A0# M% @ DUML4K'CZ$^X P QPT !D ("!?R(! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4A^T M.K%I"0 %3, !D ("!LRX! 'AL+W=O&PO=V]R:W-H965T\[ 0!X;"]W;W)K&UL4$L! A0#% @ DUML4NETP254 P G@H !D M ("!L#\! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ DUML4D8F\]52 @ ,@4 !D ("! M"$L! 'AL+W=O&PO=V]R:W-H965TY@( $() 9 M " @990 0!X;"]W;W)K&UL4$L! A0#% M @ DUML4OKL=J]1 P 9 L !D ("!LU,! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4BX.#7DF P Q@@ !D M ("!MV&PO=V]R M:W-H965TMM 0!X;"]W;W)K&UL M4$L! A0#% @ DUML4D=V]^):! ZQ !D ("!-7$! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MDUML4CYA$/A8! B! !D ("!$7T! 'AL+W=O&UL4$L! A0#% @ DUML4F*5Y/W& @ MN0< !D ("!]H@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DUML4OE9[(X3!0 #!P !D M ("!R9(! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ DUML4A,%:76) @ D 8 !D ("!)* ! 'AL M+W=O&PO=V]R:W-H965TQ M 0!X;"]?7!E&UL4$L%!@ !: %H K1@ (6V 0 $! end XML 97 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 98 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 99 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.4 html 209 475 1 true 65 0 false 10 false false R1.htm 0001000 - Document - Document And Entity Information Sheet http://cyberoptics.com/role/DocumentAndEntityInformation Document And Entity Information Cover 1 false false R2.htm 1001000 - Statement - Consolidated Balance Sheets Sheet http://cyberoptics.com/role/ConsolidatedBalanceSheets Consolidated Balance Sheets Statements 2 false false R3.htm 1001501 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 1002000 - Statement - Consolidated Statements Of Operations Sheet http://cyberoptics.com/role/ConsolidatedStatementsOfOperations Consolidated Statements Of Operations Statements 4 false false R5.htm 1003000 - Statement - Consolidated Statements Of Comprehensive Income Sheet http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome Consolidated Statements Of Comprehensive Income Statements 5 false false R6.htm 1004000 - Statement - Consolidated Statements Of Cash Flows Sheet http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows Consolidated Statements Of Cash Flows Statements 6 false false R7.htm 1005000 - Statement - Consolidated Statements Of Stockholders' Equity Sheet http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity Consolidated Statements Of Stockholders' Equity Statements 7 false false R8.htm 2101100 - Disclosure - Business Description And Significant Accounting Policies Sheet http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPolicies Business Description And Significant Accounting Policies Notes 8 false false R9.htm 2102100 - Disclosure - Covid-19 pandemic Sheet http://cyberoptics.com/role/Covid19pandemic Covid-19 pandemic Notes 9 false false R10.htm 2103100 - Disclosure - Revenue Recognition - Topic 606 Sheet http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606 Revenue Recognition - Topic 606 Notes 10 false false R11.htm 2104100 - Disclosure - Marketable Securities Sheet http://cyberoptics.com/role/MarketableSecurities Marketable Securities Notes 11 false false R12.htm 2106100 - Disclosure - Comprehensive Income Sheet http://cyberoptics.com/role/ComprehensiveIncome Comprehensive Income Notes 12 false false R13.htm 2107100 - Disclosure - Fair Value Measurements Sheet http://cyberoptics.com/role/FairValueMeasurements Fair Value Measurements Notes 13 false false R14.htm 2108100 - Disclosure - Share-Based Compensation Sheet http://cyberoptics.com/role/DisclosureShareBasedCompensation Share-Based Compensation Notes 14 false false R15.htm 2109100 - Disclosure - Net Income Per Share Sheet http://cyberoptics.com/role/DisclosureNetIncomePerShare Net Income Per Share Notes 15 false false R16.htm 2110100 - Disclosure - Other Financial Statement Data Sheet http://cyberoptics.com/role/OtherFinancialStatementData Other Financial Statement Data Notes 16 false false R17.htm 2112100 - Disclosure - Income Taxes Sheet http://cyberoptics.com/role/IncomeTaxes Income Taxes Notes 17 false false R18.htm 2113100 - Disclosure - Operating Leases Sheet http://cyberoptics.com/role/OperatingLeases Operating Leases Notes 18 false false R19.htm 2114100 - Disclosure - 401(K) and Other Defined Contribution Plans Sheet http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlans 401(K) and Other Defined Contribution Plans Notes 19 false false R20.htm 2115100 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas Sheet http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreas Revenue Concentrations, Significant Customers, and Geographic Areas Notes 20 false false R21.htm 2116100 - Disclosure - Share Repurchases Sheet http://cyberoptics.com/role/ShareRepurchases Share Repurchases Notes 21 false false R22.htm 2117100 - Disclosure - Contingencies Sheet http://cyberoptics.com/role/Contingencies Contingencies Notes 22 false false R23.htm 2118100 - Disclosure - Quarterly Financial Information (Unaudited) Sheet http://cyberoptics.com/role/QuarterlyFinancialInformationUnaudited Quarterly Financial Information (Unaudited) Notes 23 false false R24.htm 2201201 - Disclosure - Business Description And Significant Accounting Policies (Policies) Sheet http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies Business Description And Significant Accounting Policies (Policies) Policies http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPolicies 24 false false R25.htm 2303301 - Disclosure - Revenue Recognition - Topic 606 (Tables) Sheet http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables Revenue Recognition - Topic 606 (Tables) Tables http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606 25 false false R26.htm 2304301 - Disclosure - Marketable Securities (Tables) Sheet http://cyberoptics.com/role/MarketableSecuritiesTables Marketable Securities (Tables) Tables http://cyberoptics.com/role/MarketableSecurities 26 false false R27.htm 2305301 - Disclosure - Comprehensive Income (Tables) Sheet http://cyberoptics.com/role/ComprehensiveIncomeTables Comprehensive Income (Tables) Tables http://cyberoptics.com/role/ComprehensiveIncome 27 false false R28.htm 2306301 - Disclosure - Fair Value Measurements (Tables) Sheet http://cyberoptics.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://cyberoptics.com/role/FairValueMeasurements 28 false false R29.htm 2307301 - Disclosure - Share-Based Compensation (Tables) Sheet http://cyberoptics.com/role/DisclosureShareBasedCompensationTables Share-Based Compensation (Tables) Tables http://cyberoptics.com/role/DisclosureShareBasedCompensation 29 false false R30.htm 2308301 - Disclosure - Net Income Per Share (Tables) Sheet http://cyberoptics.com/role/DisclosureNetIncomePerShareTables Net Income Per Share (Tables) Tables http://cyberoptics.com/role/DisclosureNetIncomePerShare 30 false false R31.htm 2309301 - Disclosure - Other Financial Statement Data (Tables) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataTables Other Financial Statement Data (Tables) Tables http://cyberoptics.com/role/OtherFinancialStatementData 31 false false R32.htm 2310301 - Disclosure - Income Taxes (Tables) Sheet http://cyberoptics.com/role/IncomeTaxesTables Income Taxes (Tables) Tables http://cyberoptics.com/role/IncomeTaxes 32 false false R33.htm 2311301 - Disclosure - Operating Leases (Tables) Sheet http://cyberoptics.com/role/OperatingLeasesTables Operating Leases (Tables) Tables http://cyberoptics.com/role/OperatingLeases 33 false false R34.htm 2313301 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Tables) Sheet http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables Revenue Concentrations, Significant Customers, and Geographic Areas (Tables) Tables http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreas 34 false false R35.htm 2316301 - Disclosure - Quarterly Financial Information (Unaudited) (Tables) Sheet http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedTables Quarterly Financial Information (Unaudited) (Tables) Tables http://cyberoptics.com/role/QuarterlyFinancialInformationUnaudited 35 false false R36.htm 2401402 - Disclosure - Business Description And Significant Accounting Policies (Details) Sheet http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails Business Description And Significant Accounting Policies (Details) Details http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies 36 false false R37.htm 2401403 - Disclosure - Business Description And Significant Accounting Policies (Details 2) Sheet http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2 Business Description And Significant Accounting Policies (Details 2) Details http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies 37 false false R38.htm 2402401 - Disclosure - Covid-19 Pandemic (Narrative) (Details) Sheet http://cyberoptics.com/role/Covid19PandemicNarrativeDetails Covid-19 Pandemic (Narrative) (Details) Details 38 false false R39.htm 2403402 - Disclosure - Revenue Recognition - Topic 606 (Narrative) (Details) Sheet http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails Revenue Recognition - Topic 606 (Narrative) (Details) Details http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables 39 false false R40.htm 2403403 - Disclosure - Revenue Recognition - Topic 606 (Summary Of Revenue Performance Obligations) (Details) Sheet http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails Revenue Recognition - Topic 606 (Summary Of Revenue Performance Obligations) (Details) Details http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables 40 false false R41.htm 2403404 - Disclosure - Revenue Recognition - Topic 606 (Summary Of Contract Assets And Contract Liabilities) (Details) Sheet http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfContractAssetsAndContractLiabilitiesDetails Revenue Recognition - Topic 606 (Summary Of Contract Assets And Contract Liabilities) (Details) Details http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables 41 false false R42.htm 2403405 - Disclosure - Revenue Recognition - (Summary of the amounts reclassified from beginning contract liabilities to revenue) (Details) Sheet http://cyberoptics.com/role/RevenueRecognitionSummaryoftheamountsreclassifiedfrombeginningcontractliabilitiestorevenueDetails Revenue Recognition - (Summary of the amounts reclassified from beginning contract liabilities to revenue) (Details) Details http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables 42 false false R43.htm 2404402 - Disclosure - Marketable Securities (Schedule Of Marketable Securities) (Details) Sheet http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails Marketable Securities (Schedule Of Marketable Securities) (Details) Details http://cyberoptics.com/role/MarketableSecuritiesTables 43 false false R44.htm 2404403 - Disclosure - Marketable Securities (Narrative) (Details) Sheet http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails Marketable Securities (Narrative) (Details) Details http://cyberoptics.com/role/MarketableSecuritiesTables 44 false false R45.htm 2404404 - Disclosure - Marketable Securities (Schedule Of Unrealized Loss Position) (Details) Sheet http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails Marketable Securities (Schedule Of Unrealized Loss Position) (Details) Details http://cyberoptics.com/role/MarketableSecuritiesTables 45 false false R46.htm 2405401 - Disclosure - Comprehensive Income (Narrative) (Details) Sheet http://cyberoptics.com/role/ComprehensiveIncomeNarrativeDetails Comprehensive Income (Narrative) (Details) Details http://cyberoptics.com/role/ComprehensiveIncomeTables 46 false false R47.htm 2405402 - Disclosure - Comprehensive Income (The Effect of the Reclassifications from Comprehensive Income (Loss) to Earnings) (Details) Sheet http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails Comprehensive Income (The Effect of the Reclassifications from Comprehensive Income (Loss) to Earnings) (Details) Details http://cyberoptics.com/role/ComprehensiveIncomeTables 47 false false R48.htm 2405404 - Disclosure - Comprehensive Income (Schedule of Accumulated Comprehensive Income (Loss)) (Details) Sheet http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails Comprehensive Income (Schedule of Accumulated Comprehensive Income (Loss)) (Details) Details http://cyberoptics.com/role/ComprehensiveIncomeTables 48 false false R49.htm 2406402 - Disclosure - Fair Value Measurements (Fair Value Measurements For Marketable Securities And Foreign Exchange Forward Contracts) (Details) Sheet http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails Fair Value Measurements (Fair Value Measurements For Marketable Securities And Foreign Exchange Forward Contracts) (Details) Details http://cyberoptics.com/role/FairValueMeasurementsTables 49 false false R50.htm 2406403 - Disclosure - Fair Value Measurements (Narrative) (Details) Sheet http://cyberoptics.com/role/FairValueMeasurementsNarrativeDetails Fair Value Measurements (Narrative) (Details) Details http://cyberoptics.com/role/FairValueMeasurementsTables 50 false false R51.htm 2407402 - Disclosure - Share-Based Compensation (Narrative) (Details) Sheet http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails Share-Based Compensation (Narrative) (Details) Details http://cyberoptics.com/role/DisclosureShareBasedCompensationTables 51 false false R52.htm 2407403 - Disclosure - Share-Based Compensation (Schedule Of Stock Option Activity) (Details) Sheet http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails Share-Based Compensation (Schedule Of Stock Option Activity) (Details) Details http://cyberoptics.com/role/DisclosureShareBasedCompensationTables 52 false false R53.htm 2407404 - Disclosure - Share-Based Compensation (Schedule Of Stock Option Valuation Assumptions) (Details) Sheet http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails Share-Based Compensation (Schedule Of Stock Option Valuation Assumptions) (Details) Details http://cyberoptics.com/role/DisclosureShareBasedCompensationTables 53 false false R54.htm 2407405 - Disclosure - Share-Based Compensation (Schedule Of Non-Vested Restricted Stock Activity) (Details) Sheet http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails Share-Based Compensation (Schedule Of Non-Vested Restricted Stock Activity) (Details) Details http://cyberoptics.com/role/DisclosureShareBasedCompensationTables 54 false false R55.htm 2407406 - Disclosure - Share-Based Compensation (Summary Of Pre-tax Equity Based Compensation Expense) (Details) Sheet http://cyberoptics.com/role/DisclosureShareBasedCompensationSummaryOfPretaxEquityBasedCompensationExpenseDetails Share-Based Compensation (Summary Of Pre-tax Equity Based Compensation Expense) (Details) Details http://cyberoptics.com/role/DisclosureShareBasedCompensationTables 55 false false R56.htm 2408402 - Disclosure - Net Income Per Share (Schedule Of Net Income Per Basic And Diluted Shares) (Details) Sheet http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails Net Income Per Share (Schedule Of Net Income Per Basic And Diluted Shares) (Details) Details http://cyberoptics.com/role/DisclosureNetIncomePerShareTables 56 false false R57.htm 2408403 - Disclosure - Net Income Per Share (Narrative) (Details) Sheet http://cyberoptics.com/role/NetIncomePerShareNarrativeDetails Net Income Per Share (Narrative) (Details) Details http://cyberoptics.com/role/DisclosureNetIncomePerShareTables 57 false false R58.htm 2409402 - Disclosure - Other Financial Statement Data (Schedule Of Inventory Components) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails Other Financial Statement Data (Schedule Of Inventory Components) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 58 false false R59.htm 2409403 - Disclosure - Other Financial Statement Data (Schedule Of Equipment And Leasehold Improvements) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails Other Financial Statement Data (Schedule Of Equipment And Leasehold Improvements) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 59 false false R60.htm 2409404 - Disclosure - Other Financial Statement Data (Narrative) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails Other Financial Statement Data (Narrative) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 60 false false R61.htm 2409405 - Disclosure - Other Financial Statement Data (Schedule Of Intangible Assets) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails Other Financial Statement Data (Schedule Of Intangible Assets) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 61 false false R62.htm 2409406 - Disclosure - Other Financial Statement Data (Schedule Of Amortization Expense For Intangible Assets) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails Other Financial Statement Data (Schedule Of Amortization Expense For Intangible Assets) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 62 false false R63.htm 2409407 - Disclosure - Other Financial Statement Data (Schedule of Accrued Expenses) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails Other Financial Statement Data (Schedule of Accrued Expenses) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 63 false false R64.htm 2409408 - Disclosure - Other Financial Statement Data (Schedule of Other Liabilities) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails Other Financial Statement Data (Schedule of Other Liabilities) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 64 false false R65.htm 2409409 - Disclosure - Other Financial Statement Data (Schedule Of Changes In Estimated Warranty Liability) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails Other Financial Statement Data (Schedule Of Changes In Estimated Warranty Liability) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 65 false false R66.htm 2409410 - Disclosure - Other Financial Statement Data (Schedule Of Changes In Deferred Warranty Revenue) (Details) Sheet http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails Other Financial Statement Data (Schedule Of Changes In Deferred Warranty Revenue) (Details) Details http://cyberoptics.com/role/OtherFinancialStatementDataTables 66 false false R67.htm 2410402 - Disclosure - Income Taxes (Schedule Of Income Before Income Taxes) (Details) Sheet http://cyberoptics.com/role/IncomeTaxesScheduleOfIncomeBeforeIncomeTaxesDetails Income Taxes (Schedule Of Income Before Income Taxes) (Details) Details http://cyberoptics.com/role/IncomeTaxesTables 67 false false R68.htm 2410403 - Disclosure - Income Taxes (Schedule Of Provision (Benefit) For Income Taxes) (Details) Sheet http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails Income Taxes (Schedule Of Provision (Benefit) For Income Taxes) (Details) Details http://cyberoptics.com/role/IncomeTaxesTables 68 false false R69.htm 2410404 - Disclosure - Income Taxes (Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate) (Details) Sheet http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails Income Taxes (Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate) (Details) Details http://cyberoptics.com/role/IncomeTaxesTables 69 false false R70.htm 2410405 - Disclosure - Income Taxes (Narrative) (Details) Sheet http://cyberoptics.com/role/IncomeTaxesNarrativeDetails Income Taxes (Narrative) (Details) Details http://cyberoptics.com/role/IncomeTaxesTables 70 false false R71.htm 2410406 - Disclosure - Income Taxes (Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits ("UTB")) (Details) Sheet http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails Income Taxes (Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits ("UTB")) (Details) Details http://cyberoptics.com/role/IncomeTaxesTables 71 false false R72.htm 2410407 - Disclosure - Income Taxes (Schedule Of Deferred Tax Assets And Liabilities) (Details) Sheet http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails Income Taxes (Schedule Of Deferred Tax Assets And Liabilities) (Details) Details http://cyberoptics.com/role/IncomeTaxesTables 72 false false R73.htm 2411400 - Disclosure - Operating Leases (Narrative) (Details) Sheet http://cyberoptics.com/role/OperatingLeasesNarrativeDetails Operating Leases (Narrative) (Details) Details http://cyberoptics.com/role/OperatingLeasesTables 73 false false R74.htm 2411401 - Disclosure - Operating Leases (Schedule of components of our costs for operating leases) (Details) Sheet http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails Operating Leases (Schedule of components of our costs for operating leases) (Details) Details http://cyberoptics.com/role/OperatingLeasesTables 74 false false R75.htm 2411402 - Disclosure - Operating Leases (Schedule of the future maturities of lease liabilities) (Details) Sheet http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails Operating Leases (Schedule of the future maturities of lease liabilities) (Details) Details http://cyberoptics.com/role/OperatingLeasesTables 75 false false R76.htm 2412401 - Disclosure - 401(K) and Other Defined Contribution Plans (Details) Sheet http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails 401(K) and Other Defined Contribution Plans (Details) Details http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlans 76 false false R77.htm 2413402 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Summary Of Revenue By Product Line) (Details) Sheet http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails Revenue Concentrations, Significant Customers, and Geographic Areas (Summary Of Revenue By Product Line) (Details) Details http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables 77 false false R78.htm 2413404 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Narrative) (Details) Sheet http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails Revenue Concentrations, Significant Customers, and Geographic Areas (Narrative) (Details) Details http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables 78 false false R79.htm 2413405 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Revenue By Geographic Area) (Details) Sheet http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Revenue By Geographic Area) (Details) Details http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables 79 false false R80.htm 2413406 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations) (Details) Sheet http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations) (Details) Details http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables 80 false false R81.htm 2414401 - Disclosure - Share Repurchases (Narrative) (Details) Sheet http://cyberoptics.com/role/ShareRepurchasesNarrativeDetails Share Repurchases (Narrative) (Details) Details http://cyberoptics.com/role/ShareRepurchases 81 false false R82.htm 2416402 - Disclosure - Quarterly Financial Information (Unaudited) (Details) Sheet http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedDetails Quarterly Financial Information (Unaudited) (Details) Details http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedTables 82 false false All Reports Book All Reports cybe-20201231.htm cybe-20201231.xsd cybe-20201231_cal.xml cybe-20201231_def.xml cybe-20201231_lab.xml cybe-20201231_pre.xml ex21_2.htm ex231_3.htm ex311_4.htm ex312_5.htm ex32_6.htm ex45_1.htm http://fasb.org/us-gaap/2020-01-31 http://xbrl.sec.gov/dei/2020-01-31 http://xbrl.sec.gov/country/2020-01-31 http://fasb.org/srt/2020-01-31 http://xbrl.sec.gov/stpr/2018-01-31 true true JSON 102 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "cybe-20201231.htm": { "axisCustom": 1, "axisStandard": 22, "contextCount": 209, "dts": { "calculationLink": { "local": [ "cybe-20201231_cal.xml" ] }, "definitionLink": { "local": [ "cybe-20201231_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml", "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml" ] }, "inline": { "local": [ "cybe-20201231.htm" ] }, "labelLink": { "local": [ "cybe-20201231_lab.xml" ], "remote": [ "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml" ] }, "presentationLink": { "local": [ "cybe-20201231_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml" ] }, "schema": { "local": [ "cybe-20201231.xsd" ], "remote": [ "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/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-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/2020/elts/srt-types-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd", "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd", "https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd", "https://xbrl.sec.gov/dei/2020/dei-2020-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/2020/elts/us-parts-codification-2020-01-31.xsd" ] } }, "elementCount": 746, "entityCount": 1, "hidden": { "http://cyberoptics.com/20201231": 2, "http://fasb.org/us-gaap/2020-01-31": 6, "http://xbrl.sec.gov/dei/2020-01-31": 17, "total": 25 }, "keyCustom": 49, "keyStandard": 426, "memberCustom": 23, "memberStandard": 42, "nsprefix": "cybe", "nsuri": "http://cyberoptics.com/20201231", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "p", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "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://cyberoptics.com/role/DocumentAndEntityInformation", "shortName": "Document And Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2103100 - Disclosure - Revenue Recognition - Topic 606", "role": "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606", "shortName": "Revenue Recognition - Topic 606", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2104100 - Disclosure - Marketable Securities", "role": "http://cyberoptics.com/role/MarketableSecurities", "shortName": "Marketable Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2106100 - Disclosure - Comprehensive Income", "role": "http://cyberoptics.com/role/ComprehensiveIncome", "shortName": "Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2107100 - Disclosure - Fair Value Measurements", "role": "http://cyberoptics.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2108100 - Disclosure - Share-Based Compensation", "role": "http://cyberoptics.com/role/DisclosureShareBasedCompensation", "shortName": "Share-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2109100 - Disclosure - Net Income Per Share", "role": "http://cyberoptics.com/role/DisclosureNetIncomePerShare", "shortName": "Net Income Per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2110100 - Disclosure - Other Financial Statement Data", "role": "http://cyberoptics.com/role/OtherFinancialStatementData", "shortName": "Other Financial Statement Data", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2112100 - Disclosure - Income Taxes", "role": "http://cyberoptics.com/role/IncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2113100 - Disclosure - Operating Leases", "role": "http://cyberoptics.com/role/OperatingLeases", "shortName": "Operating Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2114100 - Disclosure - 401(K) and Other Defined Contribution Plans", "role": "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlans", "shortName": "401(K) and Other Defined Contribution Plans", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "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", "role": "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "lang": null, "name": "us-gaap:MarketableSecuritiesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2115100 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas", "role": "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreas", "shortName": "Revenue Concentrations, Significant Customers, and Geographic Areas", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "cybe:ShareRepurchaseTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2116100 - Disclosure - Share Repurchases", "role": "http://cyberoptics.com/role/ShareRepurchases", "shortName": "Share Repurchases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "cybe:ShareRepurchaseTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2117100 - Disclosure - Contingencies", "role": "http://cyberoptics.com/role/Contingencies", "shortName": "Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2118100 - Disclosure - Quarterly Financial Information (Unaudited)", "role": "http://cyberoptics.com/role/QuarterlyFinancialInformationUnaudited", "shortName": "Quarterly Financial Information (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2201201 - Disclosure - Business Description And Significant Accounting Policies (Policies)", "role": "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies", "shortName": "Business Description And Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2303301 - Disclosure - Revenue Recognition - Topic 606 (Tables)", "role": "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables", "shortName": "Revenue Recognition - Topic 606 (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "div", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2304301 - Disclosure - Marketable Securities (Tables)", "role": "http://cyberoptics.com/role/MarketableSecuritiesTables", "shortName": "Marketable Securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2305301 - Disclosure - Comprehensive Income (Tables)", "role": "http://cyberoptics.com/role/ComprehensiveIncomeTables", "shortName": "Comprehensive Income (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2306301 - Disclosure - Fair Value Measurements (Tables)", "role": "http://cyberoptics.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2307301 - Disclosure - Share-Based Compensation (Tables)", "role": "http://cyberoptics.com/role/DisclosureShareBasedCompensationTables", "shortName": "Share-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001501 - Statement - Consolidated Balance Sheets (Parenthetical)", "role": "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2308301 - Disclosure - Net Income Per Share (Tables)", "role": "http://cyberoptics.com/role/DisclosureNetIncomePerShareTables", "shortName": "Net Income Per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2309301 - Disclosure - Other Financial Statement Data (Tables)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataTables", "shortName": "Other Financial Statement Data (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2310301 - Disclosure - Income Taxes (Tables)", "role": "http://cyberoptics.com/role/IncomeTaxesTables", "shortName": "Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "div", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2311301 - Disclosure - Operating Leases (Tables)", "role": "http://cyberoptics.com/role/OperatingLeasesTables", "shortName": "Operating Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2313301 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Tables)", "role": "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables", "shortName": "Revenue Concentrations, Significant Customers, and Geographic Areas (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2316301 - Disclosure - Quarterly Financial Information (Unaudited) (Tables)", "role": "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedTables", "shortName": "Quarterly Financial Information (Unaudited) (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "span", "span", "p", "us-gaap:MarketableSecuritiesPolicy", "div", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "0", "first": true, "lang": null, "name": "cybe:CashHeldInForeignAccounts", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2401402 - Disclosure - Business Description And Significant Accounting Policies (Details)", "role": "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "shortName": "Business Description And Significant Accounting Policies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "span", "p", "us-gaap:MarketableSecuritiesPolicy", "div", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "0", "first": true, "lang": null, "name": "cybe:CashHeldInForeignAccounts", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RetainedEarningsAccumulatedDeficit", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2401403 - Disclosure - Business Description And Significant Accounting Policies (Details 2)", "role": "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "shortName": "Business Description And Significant Accounting Policies (Details 2)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "div", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20191231_AccountingStandardsUpdate201602Member", "decimals": "0", "lang": null, "name": "us-gaap:RetainedEarningsAccumulatedDeficit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "li", "ul", "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-5", "first": true, "lang": null, "name": "cybe:OrderBacklogYetToBeRecognizedAsRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402401 - Disclosure - Covid-19 Pandemic (Narrative) (Details)", "role": "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails", "shortName": "Covid-19 Pandemic (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "li", "ul", "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-5", "first": true, "lang": null, "name": "cybe:OrderBacklogYetToBeRecognizedAsRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_AccountingStandardsUpdate201409Member_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CapitalizedContractCostImpairmentLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2403402 - Disclosure - Revenue Recognition - Topic 606 (Narrative) (Details)", "role": "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails", "shortName": "Revenue Recognition - Topic 606 (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_AccountingStandardsUpdate201409Member_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CapitalizedContractCostImpairmentLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002000 - Statement - Consolidated Statements Of Operations", "role": "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "shortName": "Consolidated Statements Of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_78", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2403403 - Disclosure - Revenue Recognition - Topic 606 (Summary Of Revenue Performance Obligations) (Details)", "role": "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails", "shortName": "Revenue Recognition - Topic 606 (Summary Of Revenue Performance Obligations) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ix:continuation", "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "2", "lang": null, "name": "cybe:PercentageOfRevenuePerformanceObligations", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2403404 - Disclosure - Revenue Recognition - Topic 606 (Summary Of Contract Assets And Contract Liabilities) (Details)", "role": "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfContractAssetsAndContractLiabilitiesDetails", "shortName": "Revenue Recognition - Topic 606 (Summary Of Contract Assets And Contract Liabilities) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "cybe:ScheduleOfAmountsReclassifiedFromBeginningContractLiabilitiesToRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2403405 - Disclosure - Revenue Recognition - (Summary of the amounts reclassified from beginning contract liabilities to revenue) (Details)", "role": "http://cyberoptics.com/role/RevenueRecognitionSummaryoftheamountsreclassifiedfrombeginningcontractliabilitiestorevenueDetails", "shortName": "Revenue Recognition - (Summary of the amounts reclassified from beginning contract liabilities to revenue) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "cybe:ScheduleOfAmountsReclassifiedFromBeginningContractLiabilitiesToRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:AvailableForSaleSecuritiesTextBlock", "div", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231_ShortTermInvestmentsMember_5", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesAmortizedCost", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2404402 - Disclosure - Marketable Securities (Schedule Of Marketable Securities) (Details)", "role": "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails", "shortName": "Marketable Securities (Schedule Of Marketable Securities) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:AvailableForSaleSecuritiesTextBlock", "div", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231_ShortTermInvestmentsMember_5", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesAmortizedCost", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "cybe:MaximumMaturityOfDebtSecurities", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2404403 - Disclosure - Marketable Securities (Narrative) (Details)", "role": "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails", "shortName": "Marketable Securities (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "cybe:MaximumMaturityOfDebtSecurities", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "tbody", "table", "us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueTableTextBlock", "div", "div", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2404404 - Disclosure - Marketable Securities (Schedule Of Unrealized Loss Position) (Details)", "role": "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails", "shortName": "Marketable Securities (Schedule Of Unrealized Loss Position) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "tbody", "table", "us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueTableTextBlock", "div", "div", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax", "span", "span", "p", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405401 - Disclosure - Comprehensive Income (Narrative) (Details)", "role": "http://cyberoptics.com/role/ComprehensiveIncomeNarrativeDetails", "shortName": "Comprehensive Income (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax", "span", "span", "p", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405402 - Disclosure - Comprehensive Income (The Effect of the Reclassifications from Comprehensive Income (Loss) to Earnings) (Details)", "role": "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "shortName": "Comprehensive Income (The Effect of the Reclassifications from Comprehensive Income (Loss) to Earnings) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20191231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405404 - Disclosure - Comprehensive Income (Schedule of Accumulated Comprehensive Income (Loss)) (Details)", "role": "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails", "shortName": "Comprehensive Income (Schedule of Accumulated Comprehensive Income (Loss)) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "div", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20181231", "decimals": "-3", "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "ix:continuation", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InvestmentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2406402 - Disclosure - Fair Value Measurements (Fair Value Measurements For Marketable Securities And Foreign Exchange Forward Contracts) (Details)", "role": "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails", "shortName": "Fair Value Measurements (Fair Value Measurements For Marketable Securities And Foreign Exchange Forward Contracts) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "ix:continuation", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InvestmentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003000 - Statement - Consolidated Statements Of Comprehensive Income", "role": "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "shortName": "Consolidated Statements Of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "lang": null, "name": "us-gaap:ComprehensiveIncomeNetOfTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "us-gaap:AssetImpairmentCharges", "span", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AssetImpairmentCharges", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2406403 - Disclosure - Fair Value Measurements (Narrative) (Details)", "role": "http://cyberoptics.com/role/FairValueMeasurementsNarrativeDetails", "shortName": "Fair Value Measurements (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:AssetImpairmentCharges", "span", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AssetImpairmentCharges", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "0", "first": true, "lang": null, "name": "cybe:NumberOfStockBasedCompensationPlans", "reportCount": 1, "unique": true, "unitRef": "plan", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407402 - Disclosure - Share-Based Compensation (Narrative) (Details)", "role": "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "shortName": "Share-Based Compensation (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "0", "first": true, "lang": null, "name": "cybe:NumberOfStockBasedCompensationPlans", "reportCount": 1, "unique": true, "unitRef": "plan", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20191231", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407403 - Disclosure - Share-Based Compensation (Schedule Of Stock Option Activity) (Details)", "role": "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails", "shortName": "Share-Based Compensation (Schedule Of Stock Option Activity) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "0", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407404 - Disclosure - Share-Based Compensation (Schedule Of Stock Option Valuation Assumptions) (Details)", "role": "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails", "shortName": "Share-Based Compensation (Schedule Of Stock Option Valuation Assumptions) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20191231", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407405 - Disclosure - Share-Based Compensation (Schedule Of Non-Vested Restricted Stock Activity) (Details)", "role": "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails", "shortName": "Share-Based Compensation (Schedule Of Non-Vested Restricted Stock Activity) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "0", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407406 - Disclosure - Share-Based Compensation (Summary Of Pre-tax Equity Based Compensation Expense) (Details)", "role": "http://cyberoptics.com/role/DisclosureShareBasedCompensationSummaryOfPretaxEquityBasedCompensationExpenseDetails", "shortName": "Share-Based Compensation (Summary Of Pre-tax Equity Based Compensation Expense) (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R56": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_78", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408402 - Disclosure - Net Income Per Share (Schedule Of Net Income Per Basic And Diluted Shares) (Details)", "role": "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails", "shortName": "Net Income Per Share (Schedule Of Net Income Per Basic And Diluted Shares) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "tbody", "table", "ix:continuation", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "lang": null, "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408403 - Disclosure - Net Income Per Share (Narrative) (Details)", "role": "http://cyberoptics.com/role/NetIncomePerShareNarrativeDetails", "shortName": "Net Income Per Share (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsAndPurchasedPartsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409402 - Disclosure - Other Financial Statement Data (Schedule Of Inventory Components) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails", "shortName": "Other Financial Statement Data (Schedule Of Inventory Components) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsAndPurchasedPartsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409403 - Disclosure - Other Financial Statement Data (Schedule Of Equipment And Leasehold Improvements) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails", "shortName": "Other Financial Statement Data (Schedule Of Equipment And Leasehold Improvements) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004000 - Statement - Consolidated Statements Of Cash Flows", "role": "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows", "shortName": "Consolidated Statements Of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "cybe:DemonstrationInventoryUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409404 - Disclosure - Other Financial Statement Data (Narrative) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails", "shortName": "Other Financial Statement Data (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "cybe:DemonstrationInventoryUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409405 - Disclosure - Other Financial Statement Data (Schedule Of Intangible Assets) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails", "shortName": "Other Financial Statement Data (Schedule Of Intangible Assets) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409406 - Disclosure - Other Financial Statement Data (Schedule Of Amortization Expense For Intangible Assets) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "shortName": "Other Financial Statement Data (Schedule Of Amortization Expense For Intangible Assets) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409407 - Disclosure - Other Financial Statement Data (Schedule of Accrued Expenses) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails", "shortName": "Other Financial Statement Data (Schedule of Accrued Expenses) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ExtendedProductWarrantyAccrualNoncurrent", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409408 - Disclosure - Other Financial Statement Data (Schedule of Other Liabilities) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails", "shortName": "Other Financial Statement Data (Schedule of Other Liabilities) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "tbody", "table", "div", "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityNoncurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20191231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409409 - Disclosure - Other Financial Statement Data (Schedule Of Changes In Estimated Warranty Liability) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails", "shortName": "Other Financial Statement Data (Schedule Of Changes In Estimated Warranty Liability) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20181231", "decimals": "-3", "lang": null, "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "ix:continuation", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20191231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ExtendedProductWarrantyAccrual", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409410 - Disclosure - Other Financial Statement Data (Schedule Of Changes In Deferred Warranty Revenue) (Details)", "role": "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails", "shortName": "Other Financial Statement Data (Schedule Of Changes In Deferred Warranty Revenue) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "ix:continuation", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20181231", "decimals": "-3", "lang": null, "name": "us-gaap:ExtendedProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410402 - Disclosure - Income Taxes (Schedule Of Income Before Income Taxes) (Details)", "role": "http://cyberoptics.com/role/IncomeTaxesScheduleOfIncomeBeforeIncomeTaxesDetails", "shortName": "Income Taxes (Schedule Of Income Before Income Taxes) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410403 - Disclosure - Income Taxes (Schedule Of Provision (Benefit) For Income Taxes) (Details)", "role": "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails", "shortName": "Income Taxes (Schedule Of Provision (Benefit) For Income Taxes) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410404 - Disclosure - Income Taxes (Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate) (Details)", "role": "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails", "shortName": "Income Taxes (Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20181231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005000 - Statement - Consolidated Statements Of Stockholders' Equity", "role": "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "shortName": "Consolidated Statements Of Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "tbody", "table", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20181231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "0", "first": true, "lang": null, "name": "cybe:UnrecognizedTaxBenefitsCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410405 - Disclosure - Income Taxes (Narrative) (Details)", "role": "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails", "shortName": "Income Taxes (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "0", "first": true, "lang": null, "name": "cybe:UnrecognizedTaxBenefitsCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20191231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410406 - Disclosure - Income Taxes (Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits (\"UTB\")) (Details)", "role": "http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails", "shortName": "Income Taxes (Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits (\"UTB\")) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20181231", "decimals": "-3", "lang": null, "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "cybe:DeferredTaxAssetsFixedAssetAndIntangibleAmortizationNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410407 - Disclosure - Income Taxes (Schedule Of Deferred Tax Assets And Liabilities) (Details)", "role": "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails", "shortName": "Income Taxes (Schedule Of Deferred Tax Assets And Liabilities) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "cybe:DeferredTaxAssetsFixedAssetAndIntangibleAmortizationNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411400 - Disclosure - Operating Leases (Narrative) (Details)", "role": "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails", "shortName": "Operating Leases (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R74": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:LeaseCostTableTextBlock", "div", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411401 - Disclosure - Operating Leases (Schedule of components of our costs for operating leases) (Details)", "role": "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails", "shortName": "Operating Leases (Schedule of components of our costs for operating leases) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "us-gaap:LeaseCostTableTextBlock", "div", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "ix:continuation", "div", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsNextRollingTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411402 - Disclosure - Operating Leases (Schedule of the future maturities of lease liabilities) (Details)", "role": "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails", "shortName": "Operating Leases (Schedule of the future maturities of lease liabilities) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "ix:continuation", "div", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsNextRollingTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_RetirementSavingsPlanSection401KMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412401 - Disclosure - 401(K) and Other Defined Contribution Plans (Details)", "role": "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails", "shortName": "401(K) and Other Defined Contribution Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_RetirementSavingsPlanSection401KMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_78", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413402 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Summary Of Revenue By Product Line) (Details)", "role": "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails", "shortName": "Revenue Concentrations, Significant Customers, and Geographic Areas (Summary Of Revenue By Product Line) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfProductInformationTableTextBlock", "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_HighPrecision3DAnd2DSensorsMember", "decimals": "-3", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R78": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_78", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413404 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Narrative) (Details)", "role": "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "shortName": "Revenue Concentrations, Significant Customers, and Geographic Areas (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "span", "p", "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_MrsBasedSensorsMember", "decimals": "-5", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R79": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_78", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413405 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Revenue By Geographic Area) (Details)", "role": "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails", "shortName": "Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Revenue By Geographic Area) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_US", "decimals": "-3", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101100 - Disclosure - Business Description And Significant Accounting Policies", "role": "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPolicies", "shortName": "Business Description And Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R80": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "ix:continuation", "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413406 - Disclosure - Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations) (Details)", "role": "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails", "shortName": "Revenue Concentrations, Significant Customers, and Geographic Areas (Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "ix:continuation", "us-gaap:ConcentrationRiskDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20201231", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R81": { "firstAnchor": { "ancestors": [ "span", "p", "cybe:ShareRepurchaseTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20190731", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2414401 - Disclosure - Share Repurchases (Narrative) (Details)", "role": "http://cyberoptics.com/role/ShareRepurchasesNarrativeDetails", "shortName": "Share Repurchases (Narrative) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "cybe:ShareRepurchaseTextBlock", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "I20190731", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R82": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_78", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2416402 - Disclosure - Quarterly Financial Information (Unaudited) (Details)", "role": "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedDetails", "shortName": "Quarterly Financial Information (Unaudited) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "tbody", "table", "div", "div", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "div", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231_78", "decimals": "-3", "lang": null, "name": "us-gaap:GrossProfit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2102100 - Disclosure - Covid-19 pandemic", "role": "http://cyberoptics.com/role/Covid19pandemic", "shortName": "Covid-19 pandemic", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "cybe-20201231.htm", "contextRef": "D20201231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 65, "tag": { "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA", "terseLabel": "China [Member]" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_JP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "JAPAN", "terseLabel": "Japan [Member]" } } }, "localname": "JP", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_KR": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "KOREA, REPUBLIC OF", "terseLabel": "South Korea [Member]" } } }, "localname": "KR", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_NL": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "NETHERLANDS", "terseLabel": "Netherlands [Member]" } } }, "localname": "NL", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_SG": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SINGAPORE", "terseLabel": "SINGAPORE", "verboseLabel": "Singapore [Member]" } } }, "localname": "SG", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails", "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States [Member]" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "cybe_AccountsReceivableAllowanceForDoubtfulAccountsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Allowance established for amounts due that are unlikely to be received.", "label": "Accounts Receivable Allowance for Doubtful Accounts [Member]", "terseLabel": "Allowance for doubtful accounts" } } }, "localname": "AccountsReceivableAllowanceForDoubtfulAccountsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "domainItemType" }, "cybe_AccumulatedAmortizationInventories": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated amortization for demonstration inventories.", "label": "Accumulated Amortization Inventories", "terseLabel": "Accumulated amortization for demonstration inventories" } } }, "localname": "AccumulatedAmortizationInventories", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_AmortizationOfDeferredRevenue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of amortization of deferred revenue during the period.", "label": "Amortization of Deferred Revenue", "negatedLabel": "Amortization of deferred revenue" } } }, "localname": "AmortizationOfDeferredRevenue", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails" ], "xbrltype": "monetaryItemType" }, "cybe_AmortizationPeriodOfIncrementalCostsOfObtainingContract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Amortization period of incremental costs of obtaining a contract, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Amortization Period of Incremental Costs of Obtaining Contract", "terseLabel": "Amortization period of incremental costs of obtaining a contract" } } }, "localname": "AmortizationPeriodOfIncrementalCostsOfObtainingContract", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "durationItemType" }, "cybe_AsiaAndOtherMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Asia And Other [Member]", "label": "Asia And Other [Member]", "terseLabel": "Asia And Other [Member]" } } }, "localname": "AsiaAndOtherMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails" ], "xbrltype": "domainItemType" }, "cybe_AvailableForSaleSecuritiesNumberOfEquitySecurities": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Available-for-sale Securities, Number of Equity Securities", "label": "Available-For-Sale Securities, Number Of Equity Securities", "terseLabel": "Available-for-sale securities, number of equity securities", "verboseLabel": "Number of equity securities available-for-sale" } } }, "localname": "AvailableForSaleSecuritiesNumberOfEquitySecurities", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "integerItemType" }, "cybe_BenefitFromEliminatingPreviouslyRecordedDeferredTaxLiabilityForUndistributedEarnings": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of benefit from eliminating the previously recorded deferred tax liability for the undistributed earnings of the Singapore subsidiary.", "label": "Benefit from Eliminating Previously Recorded Deferred Tax Liability for Undistributed Earnings", "terseLabel": "Benefit from eliminating previously recorded deferred tax liability for undistributed earnings" } } }, "localname": "BenefitFromEliminatingPreviouslyRecordedDeferredTaxLiabilityForUndistributedEarnings", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_BloomingtonMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Bloomington [Member]", "label": "Bloomington [Member]", "terseLabel": "Bloomington [Member]" } } }, "localname": "BloomingtonMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_BusinessDescriptionAndSignificantAccountingPoliciesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Business Description And Significant Accounting Policies [Line Items]", "label": "Business Description And Significant Accounting Policies [Line Items]", "terseLabel": "Business Description And Significant Accounting Policies [Line Items]" } } }, "localname": "BusinessDescriptionAndSignificantAccountingPoliciesLineItems", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "stringItemType" }, "cybe_BusinessDescriptionAndSignificantAccountingPoliciesTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Business Description And Significant Accounting Policies [Table]", "label": "Business Description And Significant Accounting Policies [Table]", "terseLabel": "Business Description And Significant Accounting Policies [Table]" } } }, "localname": "BusinessDescriptionAndSignificantAccountingPoliciesTable", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "stringItemType" }, "cybe_CashHeldInForeignAccounts": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash Held In Foreign Accounts", "label": "Cash Held In Foreign Accounts", "terseLabel": "Cash held in foreign accounts" } } }, "localname": "CashHeldInForeignAccounts", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_ChangeInAccountingForEmployeeShareBasedPaymentForfeituresMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to change in accounting for employee share-based payment forfeitures.", "label": "Change In Accounting For Employee Share Based Payment Forfeitures [Member]", "terseLabel": "Change in accounting for employee share-based payment forfeitures [Member]" } } }, "localname": "ChangeInAccountingForEmployeeShareBasedPaymentForfeituresMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_ChangeInAccountingForStockOptionForfeituresMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to change in accounting for stock option forfeitures.", "label": "Change in Accounting for Stock Option Forfeitures [Member]", "terseLabel": "Change in accounting for stock option forfeitures [Member]" } } }, "localname": "ChangeInAccountingForStockOptionForfeituresMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "domainItemType" }, "cybe_ContractWithCustomerLiabilityAndDeferredRevenueRevenueRecognized": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/RevenueRecognitionSummaryoftheamountsreclassifiedfrombeginningcontractliabilitiestorevenueDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amounts reclassified from beginning contract liabilities and deferred warranty revenue to revenue.", "label": "Contract with Customer Liability and Deferred Revenue Revenue Recognized", "totalLabel": "Total" } } }, "localname": "ContractWithCustomerLiabilityAndDeferredRevenueRevenueRecognized", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionSummaryoftheamountsreclassifiedfrombeginningcontractliabilitiestorevenueDetails" ], "xbrltype": "monetaryItemType" }, "cybe_ContractWithCustomerLiabilityDeferredWarrantyRevenue": { "auth_ref": [], "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, attributable to deferred warranty revenue.", "label": "Contract with Customer Liability Deferred Warranty Revenue", "terseLabel": "Contract liabilities - deferred warranty revenue" } } }, "localname": "ContractWithCustomerLiabilityDeferredWarrantyRevenue", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_CorporateDebtSecuritiesAndCertificatesOfDepositMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Corporate Debt Securities And Certificates Of Deposit [Member]", "label": "Corporate Debt Securities And Certificates Of Deposit [Member]", "terseLabel": "Corporate Debt Securities And Certificates Of Deposit [Member]" } } }, "localname": "CorporateDebtSecuritiesAndCertificatesOfDepositMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails", "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "cybe_CustomerOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer One [Member].", "label": "Customer One [Member]", "terseLabel": "Significant Customer A [Member]" } } }, "localname": "CustomerOneMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "domainItemType" }, "cybe_CustomerThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer Three [Member].", "label": "Customer Three [Member]", "terseLabel": "Significant Customer C [Member]" } } }, "localname": "CustomerThreeMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "domainItemType" }, "cybe_CustomerTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer Two [Member].", "label": "Customer Two [Member]", "terseLabel": "Significant Customer B [Member]" } } }, "localname": "CustomerTwoMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "domainItemType" }, "cybe_DebtSecuritiesUnrealizedGainPositionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Securities Unrealized Gain Position [Member]", "label": "Debt Securities Unrealized Gain Position [Member]", "terseLabel": "Debt Securities Unrealized Gain Position [Member]" } } }, "localname": "DebtSecuritiesUnrealizedGainPositionMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_DebtSecuritiesUnrealizedLossPositionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Securities Unrealized Loss Position [Member]", "label": "Debt Securities Unrealized Loss Position [Member]", "terseLabel": "Debt Securities Unrealized Loss Position [Member]" } } }, "localname": "DebtSecuritiesUnrealizedLossPositionMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_DeferredTaxAssetsFederalAndStateTaxCredits": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred Tax Assets, Federal And State Tax Credits", "label": "Deferred Tax Assets, Federal And State Tax Credits", "terseLabel": "Federal and state tax credits" } } }, "localname": "DeferredTaxAssetsFederalAndStateTaxCredits", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_DeferredTaxAssetsFixedAssetAndIntangibleAmortizationNet": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Deferred Tax Assets, Fixed Asset And Intangible Amortization, Net", "label": "Deferred Tax Assets, Fixed Asset And Intangible Amortization, Net", "terseLabel": "Equipment, leaseholds and intangible amortization, net" } } }, "localname": "DeferredTaxAssetsFixedAssetAndIntangibleAmortizationNet", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_DeferredTaxAssetsOperatingLeaseLiabilities": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 12.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating lease liabilities.", "label": "Deferred Tax Assets Operating Lease Liabilities", "terseLabel": "Operating lease liabilities" } } }, "localname": "DeferredTaxAssetsOperatingLeaseLiabilities", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_DeferredTaxLiabilitiesFixedAssetAndIntangibleAmortizationNet": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Deferred Tax Liabilities, Fixed Asset And Intangible Amortization, Net.", "label": "Deferred Tax Liabilities, Fixed Asset And Intangible Amortization, Net", "terseLabel": "Equipment, leaseholds and intangible amortization, net" } } }, "localname": "DeferredTaxLiabilitiesFixedAssetAndIntangibleAmortizationNet", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_DeferredTaxLiabilitiesRightOfUseAssets": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from Right-of-use assets.", "label": "Deferred Tax Liabilities Right of Use Assets", "terseLabel": "Right-of-use assets (operating leases)" } } }, "localname": "DeferredTaxLiabilitiesRightOfUseAssets", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_DefinedContributionRetirementSavingsPlansMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to defined contribution retirement savings plans in the United Kingdom.", "label": "Defined Contribution Retirement Savings Plans [Member]", "terseLabel": "Defined contribution retirement savings plans in the United Kingdom [Member]" } } }, "localname": "DefinedContributionRetirementSavingsPlansMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails" ], "xbrltype": "domainItemType" }, "cybe_DemonstrationInventoriesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Demonstration Inventories [Member]", "label": "Demonstration Inventories [Member]", "terseLabel": "Demonstration Inventories [Member]" } } }, "localname": "DemonstrationInventoriesMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "domainItemType" }, "cybe_DemonstrationInventoryUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Demonstration Inventory Useful Life", "label": "Demonstration Inventory Useful Life", "terseLabel": "Demonstration inventory useful life (in months)" } } }, "localname": "DemonstrationInventoryUsefulLife", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "durationItemType" }, "cybe_DocumentAndEntityInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Document and Entity Information [Abstract]", "label": "Document And Entity Information [Abstract]" } } }, "localname": "DocumentAndEntityInformationAbstract", "nsuri": "http://cyberoptics.com/20201231", "xbrltype": "stringItemType" }, "cybe_EarningsPerShareDilutiveAdjustment": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails": { "order": 1.0, "parentTag": "us-gaap_EarningsPerShareDiluted", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Earnings Per Share Dilutive Adjustment", "label": "Earnings Per Share Dilutive Adjustment", "terseLabel": "Per Share Amount, Dilutive effect of common equivalent shares (in usd per share)" } } }, "localname": "EarningsPerShareDilutiveAdjustment", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails" ], "xbrltype": "perShareItemType" }, "cybe_EffectiveIncomeTaxRateReconciliatioOfCorporateIncomeTaxRateWriteDownOfDeferredTaxAssets": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliatio of Corporate Income Tax Rate Write Down of Deferred Tax Assets", "terseLabel": "Percentage of change in corporate income tax rate due to write-down of deferred tax assets" } } }, "localname": "EffectiveIncomeTaxRateReconciliatioOfCorporateIncomeTaxRateWriteDownOfDeferredTaxAssets", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "percentItemType" }, "cybe_EffectiveIncomeTaxRateReconciliationEarningAndDividendsOfForeignAffiliatePercent": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 4.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Effective Income Tax Rate Reconciliation, Earning and Dividends of Foreign Affiliate, Percent", "label": "Effective Income Tax Rate Reconciliation, Earning and Dividends of Foreign Affiliate, Percent", "terseLabel": "Earnings and dividends of foreign affiliate (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationEarningAndDividendsOfForeignAffiliatePercent", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "cybe_EffectiveIncomeTaxRateReconciliationEarningAndDividendsOfForeignCorporationsPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of effective income tax rate reconciliation, earning and dividends of foreign corporations.", "label": "Effective Income Tax Rate Reconciliation Earning and Dividends of Foreign Corporations Percent", "terseLabel": "Earnings and dividends of foreign corporations (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationEarningAndDividendsOfForeignCorporationsPercent", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "percentItemType" }, "cybe_EffectiveIncomeTaxRateReconciliationExpiringAndUnrecognizedDeferredTaxAttributes": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 12.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to expiring and unrecognized deferred tax attributes.", "label": "Effective Income Tax Rate Reconciliation Expiring and Unrecognized Deferred Tax Attributes", "terseLabel": "Expiring and unrecognized deferred tax attributes (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationExpiringAndUnrecognizedDeferredTaxAttributes", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "cybe_EffectiveIncomeTaxRateReconciliationGlobalIntangibleLowTaxIncome": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 3.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to Global Intangible Low Tax Income.", "label": "Effective Income Tax Rate Reconciliation Global Intangible Low Tax Income", "terseLabel": "Global Intangible Low-Taxed Income (GILTI)/Foreign Derived Intangible Income (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationGlobalIntangibleLowTaxIncome", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "cybe_EffectiveIncomeTaxRateReconciliationSingaporeJobsSupportProgram": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 9.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to singapore jobs support program.", "label": "Effective Income Tax Rate Reconciliation Singapore Jobs Support Program", "terseLabel": "Singapore jobs support program" } } }, "localname": "EffectiveIncomeTaxRateReconciliationSingaporeJobsSupportProgram", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "cybe_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefit": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 10.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to unrecognized tax benefit.", "label": "Effective Income Tax Rate Reconciliation Unrecognized Tax Benefit", "terseLabel": "Unrecognized tax benefit (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefit", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "cybe_EffectiveIncomeTaxRateReconciliationUsSubpartFIncome": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 2.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Effective Income Tax Rate Reconciliation US Subpart F Income", "label": "Effective Income Tax Rate Reconciliation US Subpart F Income", "terseLabel": "U.S. Subpart F income (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationUsSubpartFIncome", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "cybe_ExportRevenuesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Export Revenues [Member].", "label": "Export Revenues [Member]", "terseLabel": "Export Revenues [Member]" } } }, "localname": "ExportRevenuesMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_ForeignEarningsRepatriatedAmountPreviouslyTaxed": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Foreign Earnings Repatriated Amount Previously Taxed", "label": "Foreign Earnings Repatriated Amount Previously Taxed", "terseLabel": "Amount of foreign earnings repatriated previously taxed" } } }, "localname": "ForeignEarningsRepatriatedAmountPreviouslyTaxed", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_GoldenValleyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Golden Valley [Member]", "label": "Golden Valley [Member]", "terseLabel": "Golden Valley [Member]" } } }, "localname": "GoldenValleyMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_HighPrecision3DAnd2DSensorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "High Precision 3D and 2D Sensors [Member].", "label": "High Precision 3D and 2D Sensors [Member]", "terseLabel": "High Precision 3D and 2D Sensors [Member]" } } }, "localname": "HighPrecision3DAnd2DSensorsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "domainItemType" }, "cybe_IncomeTaxLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Income Tax [Line Items]", "label": "Income Tax [Line Items]", "terseLabel": "Income Tax [Line Items]" } } }, "localname": "IncomeTaxLineItems", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "stringItemType" }, "cybe_IncomeTaxTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Income Tax [Table]", "label": "Income Tax [Table]", "terseLabel": "Income Tax [Table]" } } }, "localname": "IncomeTaxTable", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "stringItemType" }, "cybe_IncreaseInOperatingLeaseLiabilitiesForRightOfUseAssets": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in operating lease liabilities for right of use assets.", "label": "Increase in Operating Lease Liabilities for Right of Use Assets", "terseLabel": "Increase in operating lease liabilities for right of use assets" } } }, "localname": "IncreaseInOperatingLeaseLiabilitiesForRightOfUseAssets", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_InspectionAndMetrologySystemsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Inspection and Metrology Systems [Member].", "label": "Inspection and Metrology Systems [Member]", "terseLabel": "Inspection and Metrology Systems [Member]" } } }, "localname": "InspectionAndMetrologySystemsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "domainItemType" }, "cybe_InspectionSystemsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to inspection systems.", "label": "Inspection systems [Member]", "terseLabel": "Inspection systems [Member]" } } }, "localname": "InspectionSystemsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "domainItemType" }, "cybe_InterestPortionOfOperatingLeases": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": 1.0, "parentTag": "cybe_PresentValueOfOperatingLeasesFutureMinimumPayments", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount necessary to reduce minimum lease payments to present value for operating leases.", "label": "Interest Portion of Operating Leases", "terseLabel": "Less: amount representing interest" } } }, "localname": "InterestPortionOfOperatingLeases", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_JobsSupportProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to jobs support program that is intended to support businesses and encourage retention of employees during the period of economic uncertainty caused by the Covid-19 pandemic.", "label": "Jobs Support Program [Member]", "terseLabel": "Jobs Support Program [Member]" } } }, "localname": "JobsSupportProgramMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_KeyTronicCorporationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Key Tronic Corporation [Member]", "label": "Key Tronic Corporation [Member]", "terseLabel": "Key Tronic Corporation [Member]" } } }, "localname": "KeyTronicCorporationMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "domainItemType" }, "cybe_MarketableSecuritiesClassifiedAsCashEquivalentsCost": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Marketable Securities Classified As Cash Equivalents, Cost", "label": "Marketable Securities Classified As Cash Equivalents, Cost", "terseLabel": "Cost", "verboseLabel": "Marketable securities classified as cash equivalents" } } }, "localname": "MarketableSecuritiesClassifiedAsCashEquivalentsCost", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_MarketableSecuritiesClassifiedAsCashEquivalentsRecordedBasis": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Marketable Securities Classified As Cash Equivalents, Recorded Basis", "label": "Marketable Securities Classified As Cash Equivalents, Recorded Basis", "terseLabel": "Marketable securities classified as cash equivalents, recorded basis", "totalLabel": "Recorded Basis" } } }, "localname": "MarketableSecuritiesClassifiedAsCashEquivalentsRecordedBasis", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_MarketableSecuritiesClassifiedAsCashEquivalentsUnrealizedGains": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Marketable Securities Classified As Cash Equivalents, Unrealized Gains", "label": "Marketable Securities Classified As Cash Equivalents, Unrealized Gains", "terseLabel": "Unrealized Gains" } } }, "localname": "MarketableSecuritiesClassifiedAsCashEquivalentsUnrealizedGains", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "cybe_MarketableSecuritiesClassifiedAsCashEquivalentsUnrealizedLosses": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Marketable Securities Classified As Cash Equivalents, Unrealized Losses", "label": "Marketable Securities Classified As Cash Equivalents, Unrealized Losses", "terseLabel": "Unrealized Losses" } } }, "localname": "MarketableSecuritiesClassifiedAsCashEquivalentsUnrealizedLosses", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "cybe_MaximumContributionPerPlanYear": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Maximum Contribution Per Plan Year", "label": "Maximum Contribution Per Plan Year", "terseLabel": "Maximum contribution per plan year" } } }, "localname": "MaximumContributionPerPlanYear", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_MaximumMaturityOfDebtSecurities": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maximum Maturity Of Debt Securities", "label": "Maximum Maturity Of Debt Securities", "terseLabel": "Maximum maturity of debt securities (less than 5 years)" } } }, "localname": "MaximumMaturityOfDebtSecurities", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "durationItemType" }, "cybe_MaximumPeriodInWhichAccountsReceivableBecomeDue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the maximum period in which account receivable become due under normal trade terms.", "label": "Maximum Period in Which Accounts Receivable Become Due", "terseLabel": "Maximum period in which accounts receivable become due" } } }, "localname": "MaximumPeriodInWhichAccountsReceivableBecomeDue", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "durationItemType" }, "cybe_MaximumTimeForLossPosition": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maximum Time For Loss Position", "label": "Maximum Time For Loss Position", "terseLabel": "Maximum time for loss position (in months)" } } }, "localname": "MaximumTimeForLossPosition", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "durationItemType" }, "cybe_MetrologyProductsAndServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Metrology Products and Services [Member].", "label": "Metrology Products and Services [Member]", "terseLabel": "Metrology Products and Services [Member]" } } }, "localname": "MetrologyProductsAndServicesMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "domainItemType" }, "cybe_MinimumOwnershipPercentageInForeignCorporationsForForeignSourceDividendsDeduction": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the minimum ownership percentage in foreign corporations for foreign-source dividends deduction.", "label": "Minimum Ownership Percentage in Foreign Corporations for Foreign Source Dividends Deduction", "terseLabel": "Minimum ownership percentage in foreign corporations for foreign-source dividends deduction" } } }, "localname": "MinimumOwnershipPercentageInForeignCorporationsForForeignSourceDividendsDeduction", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "percentItemType" }, "cybe_MrsBasedSensorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represent the information pertaining to MRS based sensors.", "label": "Mrs Based Sensors [Member]", "terseLabel": "MRS based sensors [Member]" } } }, "localname": "MrsBasedSensorsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_MrsBasedSystemsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represent the information partaining to MRS based systems.", "label": "Mrs Based Systems [Member]", "terseLabel": "MRS based systems [Member]" } } }, "localname": "MrsBasedSystemsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_NeedForValuationAllowanceBasedOnHistoryOfCumulativeLosses": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Need For Valuation Allowance Based On History Of Cumulative Losses", "label": "Need For Valuation Allowance Based On History Of Cumulative Losses", "terseLabel": "Need for valuation allowance based on history of cumulative losses" } } }, "localname": "NeedForValuationAllowanceBasedOnHistoryOfCumulativeLosses", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "durationItemType" }, "cybe_NewNonEmployeeDirectorStockPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "New Non-Employee Director Stock Plan [Member]", "label": "New Non-Employee Director Stock Plan [Member]", "terseLabel": "New Non-Employee Director Stock Plan [Member]" } } }, "localname": "NewNonEmployeeDirectorStockPlanMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_NonEmployeeDirectorStockPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Non Employee Director Stock Plan [Member].", "label": "Non Employee Director Stock Plan [Member]", "terseLabel": "Non Employee Director Stock Plan [Member]" } } }, "localname": "NonEmployeeDirectorStockPlanMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_NumberOfCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of customers.", "label": "Number of Customers", "terseLabel": "Number of customers" } } }, "localname": "NumberOfCustomers", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "integerItemType" }, "cybe_NumberOfQuarterlyInstallmentsInWhichAwardsWillVest": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of quarterly installments in which awards will vest.", "label": "Number of Quarterly Installments In Which Awards Will Vest", "terseLabel": "Number of quarterly installments in which awards will vest" } } }, "localname": "NumberOfQuarterlyInstallmentsInWhichAwardsWillVest", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "integerItemType" }, "cybe_NumberOfSharesGrantedForNonEmployeeDirectorsUponReElection": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number Of Shares Granted For Non-Employee Directors Upon Re-Election", "label": "Number Of Shares Granted For Non-Employee Directors Upon Re-Election", "terseLabel": "Number of shares granted for non-employee directors upon re-election, shares" } } }, "localname": "NumberOfSharesGrantedForNonEmployeeDirectorsUponReElection", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "cybe_NumberOfStockBasedCompensationPlans": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of Stock-Based Compensation Plans", "label": "Number Of Stock-Based Compensation Plans", "terseLabel": "Number of stock-based compensation plans" } } }, "localname": "NumberOfStockBasedCompensationPlans", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "integerItemType" }, "cybe_OemAlignmentSensorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "OEM Alignment Sensors [Member]", "label": "Oem Alignment Sensors [Member]", "terseLabel": "High Precision 3D and 2D Sensors [Member]" } } }, "localname": "OemAlignmentSensorsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "domainItemType" }, "cybe_OrderBacklogYetToBeRecognizedAsRevenue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of order backlog not yet recognized as revenue.", "label": "Order Backlog Yet to be Recognized as Revenue", "terseLabel": "Order backlog not yet recognized" } } }, "localname": "OrderBacklogYetToBeRecognizedAsRevenue", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_OtherAsiaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Asia [Member]", "label": "Other Asia [Member]", "terseLabel": "Other Asia [Member]" } } }, "localname": "OtherAsiaMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "cybe_OtherEuropeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Europe [Member]", "label": "Other Europe [Member]", "terseLabel": "Other Europe [Member]" } } }, "localname": "OtherEuropeMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "cybe_OtherFinancialStatementDataAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Financial Statement Data [Abstract]", "label": "OTHER FINANCIAL STATEMENT DATA [Abstract]" } } }, "localname": "OtherFinancialStatementDataAbstract", "nsuri": "http://cyberoptics.com/20201231", "xbrltype": "stringItemType" }, "cybe_OtherGeographicLocationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Geographic Location [Member]", "label": "Other Geographic Location [Member]", "terseLabel": "Other [Member]" } } }, "localname": "OtherGeographicLocationMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "cybe_PatentsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Patents Policy [Policy Text Block]", "label": "Patents Policy [Policy Text Block]", "terseLabel": "Patents" } } }, "localname": "PatentsPolicyPolicyTextBlock", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "cybe_PayrollDeductionForEmployeeStockPurchasePlanPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Payroll Deduction For Employee Stock Purchase Plan Percentage", "label": "Payroll Deduction For Employee Stock Purchase Plan Percentage", "terseLabel": "Payroll deduction for employee stock purchase plan percentage" } } }, "localname": "PayrollDeductionForEmployeeStockPurchasePlanPercentage", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "percentItemType" }, "cybe_PercentageOfDividendsReceivedDeductionForForeignSourceDividendsReceivedFrom10PercentOrMoreOwnedForeignCorporations": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of dividends-received-deduction for foreign-source dividends received from 10%-or-more owned foreign corporations.", "label": "Percentage of Dividends Received Deduction for Foreign Source Dividends Received from 10 Percent or More Owned Foreign Corporations", "terseLabel": "Percentage of dividends-received-deduction for foreign-source dividends received from 10%-or-more owned foreign corporations" } } }, "localname": "PercentageOfDividendsReceivedDeductionForForeignSourceDividendsReceivedFrom10PercentOrMoreOwnedForeignCorporations", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "percentItemType" }, "cybe_PercentageOfRevenuePerformanceObligations": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of the revenue performance obligations.", "label": "Percentage of Revenue Performance Obligations", "terseLabel": "Percent of Revenues" } } }, "localname": "PercentageOfRevenuePerformanceObligations", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails" ], "xbrltype": "percentItemType" }, "cybe_PeriodBetweenWhenEntityTransferPromisedGoodOrServiceToCustomerAndWhenCustomerPaysForThatGoodOrService": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period between when entity transfer a promised good or service to a customer and when the customer pays for that good or service, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Period Between When Entity Transfer Promised Good or Service to Customer and When Customer Pays for That Good or Service", "terseLabel": "Period between when entity transfer a promised good or service to a customer and when the customer pays for that good or service" } } }, "localname": "PeriodBetweenWhenEntityTransferPromisedGoodOrServiceToCustomerAndWhenCustomerPaysForThatGoodOrService", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "durationItemType" }, "cybe_PeriodForValueOfUnsatisfiedPerformanceObligationsWhichNotDisclosed": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents period for the value of unsatisfied performance obligations which are not disclosed.", "label": "Period for Value of Unsatisfied Performance Obligations Which Not Disclosed", "terseLabel": "Period for the value of unsatisfied performance obligations which are not disclosed" } } }, "localname": "PeriodForValueOfUnsatisfiedPerformanceObligationsWhichNotDisclosed", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "durationItemType" }, "cybe_PresentValueOfOperatingLeasesFutureMinimumPayments": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of minimum lease payments for operating leases.", "label": "Present Value of Operating Leases Future Minimum Payments", "totalLabel": "Present value of operating lease liabilities" } } }, "localname": "PresentValueOfOperatingLeasesFutureMinimumPayments", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "cybe_ProductWarrantiesTimeFrame": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product Warranties Time Frame.", "label": "Product Warranties Time Frame", "terseLabel": "Warranty period" } } }, "localname": "ProductWarrantiesTimeFrame", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "durationItemType" }, "cybe_ProductWarrantyPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product Warranty, Period", "label": "Product Warranty, Period", "terseLabel": "Warranty period (in years)" } } }, "localname": "ProductWarrantyPeriod", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "durationItemType" }, "cybe_ProgramAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Program [Axis]" } } }, "localname": "ProgramAxis", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "stringItemType" }, "cybe_ProgramDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Program [Domain]" } } }, "localname": "ProgramDomain", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_ReceivableFromLessor": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of receivable from lessor.", "label": "Receivable from Lessor", "terseLabel": "Receivable from lessor" } } }, "localname": "ReceivableFromLessor", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "monetaryItemType" }, "cybe_RecognitionOfDeferredTaxAssetsForPreviouslyUnrecognizedExcessTaxBenefitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to recognition of the deferred tax assets for previously unrecognized excess tax benefits.", "label": "Recognition of Deferred Tax Assets for Previously Unrecognized Excess Tax Benefits [Member]", "terseLabel": "Recognition of the deferred tax assets for previously unrecognized excess tax benefits [Member]" } } }, "localname": "RecognitionOfDeferredTaxAssetsForPreviouslyUnrecognizedExcessTaxBenefitsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "domainItemType" }, "cybe_RelatedPartyTransactionsPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for related party transactions.", "label": "Related Party Transactions [Policy Text Block]", "terseLabel": "Related Party Transactions" } } }, "localname": "RelatedPartyTransactionsPolicyTextBlock", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "cybe_RenewalOptionsNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Renewal Options, Number", "label": "Renewal Options, Number", "terseLabel": "Renewal options, number" } } }, "localname": "RenewalOptionsNumber", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "integerItemType" }, "cybe_RestrictedSharesAndRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to restricted shares and restricted stock units.", "label": "Restricted Shares and Restricted Stock Units [Member]", "terseLabel": "Restricted Shares and Restricted Stock Units [Member]" } } }, "localname": "RestrictedSharesAndRestrictedStockUnitsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_RestrictedStockUnitsToCommonStockRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Restricted Stock Units to Common Stock Ratio", "label": "Restricted Stock Units to Common Stock Ratio", "terseLabel": "Restricted stock units to common stock ratio, shares entitled, shares" } } }, "localname": "RestrictedStockUnitsToCommonStockRatio", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "cybe_RetirementSavingsPlanSection401KMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to retirement savings plan pursuant to Section 401(k) of the Internal Revenue Code (the Code).", "label": "Retirement Savings Plan Section 401k [Member]", "terseLabel": "Retirement savings plan pursuant to Section 401(k) [Member]" } } }, "localname": "RetirementSavingsPlanSection401KMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails" ], "xbrltype": "domainItemType" }, "cybe_RevenueExportSalesPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Revenue Export Sales Percentage", "label": "Revenue Export Sales Percentage", "terseLabel": "Revenue, export sales percentage" } } }, "localname": "RevenueExportSalesPercentage", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "percentItemType" }, "cybe_ScheduleOfAmountsReclassifiedFromBeginningContractLiabilitiesToRevenueTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts reclassified from beginning contract liabilities to revenue.", "label": "Schedule of Amounts Reclassified from Beginning Contract Liabilities to Revenue [Table Text Block]", "terseLabel": "Summary of the amounts reclassified from beginning contract liabilities to revenue" } } }, "localname": "ScheduleOfAmountsReclassifiedFromBeginningContractLiabilitiesToRevenueTableTextBlock", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables" ], "xbrltype": "textBlockItemType" }, "cybe_ScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule Of Marketable Securities Classified As Cash Equivalents [Table Text Block]", "label": "Schedule Of Marketable Securities Classified As Cash Equivalents [Table Text Block]", "terseLabel": "Schedule of Marketable Securities Classified As Cash Equivalents" } } }, "localname": "ScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsTableTextBlock", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesTables" ], "xbrltype": "textBlockItemType" }, "cybe_SemiconductorSensorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Semiconductor Sensors [Member]", "label": "Semiconductor Sensors [Member]", "terseLabel": "Semiconductor Sensors [Member]" } } }, "localname": "SemiconductorSensorsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "domainItemType" }, "cybe_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpiredInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Options Expired In Period Weighted Average Exercise Price", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Expired In Period Weighted Average Exercise Price", "terseLabel": "Weighted-Average Exercise Price Per Share, Expired (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpiredInPeriodWeightedAverageExercisePrice", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "cybe_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedToNonEmployeeDirectorsUponReElection": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted To Non-Employee Directors Upon Re-election", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted To Non-Employee Directors Upon Re-election", "terseLabel": "Options granted to non-employee directors upon re-election" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedToNonEmployeeDirectorsUponReElection", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "cybe_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedToNonEmployeeDirectorsUponReElectionPerDirector": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted To Non-Employee Directors Upon Re-election, Per Director", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted To Non-Employee Directors Upon Re-election, Per Director", "terseLabel": "Number of shares granted for non-employee directors upon re-election, per director" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedToNonEmployeeDirectorsUponReElectionPerDirector", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "cybe_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Fair Value", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Fair Value", "terseLabel": "Options granted in period, fair value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodFairValue", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_ShareRepurchaseTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Repurchase [Text Block]", "terseLabel": "SHARE REPURCHASES" } } }, "localname": "ShareRepurchaseTextBlock", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/ShareRepurchases" ], "xbrltype": "textBlockItemType" }, "cybe_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisedIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercised Intrinsic Value", "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercised Intrinsic Value", "terseLabel": "Aggregate intrinsic value of exercised stock options" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisedIntrinsicValue", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_StockGrantPlanForNonEmployeeDirectorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock Grant Plan For Non-Employee Directors [Member]", "label": "Stock Grant Plan For Non Employee Directors [Member]", "terseLabel": "Stock Grant Plan For Non-Employee Directors [Member]" } } }, "localname": "StockGrantPlanForNonEmployeeDirectorsMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_StockIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock Incentive Plan [Member]", "label": "Stock Incentive Plan [Member]", "terseLabel": "Stock Incentive Plan [Member]" } } }, "localname": "StockIncentivePlanMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_StockIssuedDuringPeriodSharesStockOptionsExercisedAndVestingOfRestrictedUnitsNetOfSharesExchangedAsPayment": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock Issued During Period Shares Stock Options Exercised And Vesting Of Restricted Units, Net Of Shares Exchanged As Payment", "label": "Stock Issued During Period Shares Stock Options Exercised And Vesting Of Restricted Units, Net Of Shares Exchanged As Payment", "terseLabel": "Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment, shares" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercisedAndVestingOfRestrictedUnitsNetOfSharesExchangedAsPayment", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "cybe_StockIssuedDuringPeriodValueStockOptionsExercisedAndVestingOfRestrictedUnitsNetOfSharesExchangedAsPayment": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Stock Issued During Period Value Stock Options Exercised And Vesting Of Restricted Units, Net Of Shares Exchanged As Payment", "label": "Stock Issued During Period Value Stock Options Exercised And Vesting Of Restricted Units, Net Of Shares Exchanged As Payment", "terseLabel": "Exercise of stock options and vesting of restricted stock units, net of shares exchanged as payment" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercisedAndVestingOfRestrictedUnitsNetOfSharesExchangedAsPayment", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "cybe_StockOptionsAndRestrictedStockUnitsRsusMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock Options And Restricted Stock Units (RSUs) [Member]", "label": "Stock Options And Restricted Stock Units Rsus [Member]", "terseLabel": "Stock Options And Restricted Stock Units (RSUs) [Member]" } } }, "localname": "StockOptionsAndRestrictedStockUnitsRsusMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "cybe_StockRepurchaseProgramNumberOfSharesRepurchased": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of shares repurchased by an entity's Board of Directors under a stock repurchase plan.", "label": "Stock Repurchase Program, Number of Shares Repurchased", "terseLabel": "Stock Repurchase Program Number of Shares Repurchased" } } }, "localname": "StockRepurchaseProgramNumberOfSharesRepurchased", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/ShareRepurchasesNarrativeDetails" ], "xbrltype": "sharesItemType" }, "cybe_SummaryOfPreTaxEquityBasedCompensationExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Summary Of Pre-tax Equity Based Compensation Expense [Table Text Block]", "label": "Summary Of Pre-tax Equity Based Compensation Expense [Table Text Block]", "terseLabel": "Summary Of Pre-tax Equity Based Compensation Expense" } } }, "localname": "SummaryOfPreTaxEquityBasedCompensationExpenseTableTextBlock", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "cybe_TaxPaymentsRelatedToSharesWithHeldForShareBasedCompensationPlans": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of tax payments related to shares withheld for share-based compensation plans.", "label": "Tax Payments Related to Shares with held for Share Based Compensation Plans", "terseLabel": "Tax payments related to shares withheld for share-based compensation plans" } } }, "localname": "TaxPaymentsRelatedToSharesWithHeldForShareBasedCompensationPlans", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "cybe_TaxPaymentsRelatedToSharesWithheldForShareBasedCompensationPlansShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares related to tax payments of shares withheld for share-based compensation plans.", "label": "Tax Payments Related to Shares Withheld for Share Based Compensation Plans Shares", "terseLabel": "Tax payments related to shares withheld for share-based compensation plans, shares" } } }, "localname": "TaxPaymentsRelatedToSharesWithheldForShareBasedCompensationPlansShares", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "cybe_ThreeDimensionalScanningSystemsAndServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Three Dimensional Scanning Systems and Services [Member]", "label": "Three Dimensional Scanning Systems and Services [Member]", "terseLabel": "3D Scanning Solutions and Services [Member]" } } }, "localname": "ThreeDimensionalScanningSystemsAndServicesMember", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "domainItemType" }, "cybe_TradeNotesReceivableInterestRateStatedPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents an annual effective interest rate of trade notes receivable.", "label": "Trade Notes Receivable Interest Rate Stated Percentage", "terseLabel": "Trade notes receivable interest rate stated percentage" } } }, "localname": "TradeNotesReceivableInterestRateStatedPercentage", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "percentItemType" }, "cybe_TradeNotesReceivableRepaymentPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the repayment period of trade notes receivable.", "label": "Trade Notes Receivable Repayment Period", "terseLabel": "Trade notes receivable repayment period" } } }, "localname": "TradeNotesReceivableRepaymentPeriod", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "durationItemType" }, "cybe_UnrecognizedTaxBenefitsCurrent": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Current portion of the unrecognized tax benefits", "label": "Unrecognized Tax Benefits Current", "terseLabel": "Unrecognized tax benefits current" } } }, "localname": "UnrecognizedTaxBenefitsCurrent", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_UnrecognizedTaxBenefitsNet": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of net unrecognized tax benefits.", "label": "Unrecognized Tax Benefits, Net", "terseLabel": "Net UTB balance at end of year" } } }, "localname": "UnrecognizedTaxBenefitsNet", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails" ], "xbrltype": "monetaryItemType" }, "cybe_UnrecognizedTaxBenefitsNetClassifiedAsCurrentLiability": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of net unrecognized tax benefits classsified as current liability.", "label": "Unrecognized Tax Benefits Net Classified as Current Liability", "terseLabel": "Net UTB classsified as current liability" } } }, "localname": "UnrecognizedTaxBenefitsNetClassifiedAsCurrentLiability", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cybe_ValuationAllowanceChangeInAmountDueToNonUtilizationOfResearchAndDevelopmentTaxCredits": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the valuation allowance due to non-utilization of research and development tax credits.", "label": "Valuation Allowance Change in Amount Due to Non Utilization of Research and Development Tax Credits", "terseLabel": "Valuation allowance change in amount due to non utilization of research and development tax credits" } } }, "localname": "ValuationAllowanceChangeInAmountDueToNonUtilizationOfResearchAndDevelopmentTaxCredits", "nsuri": "http://cyberoptics.com/20201231", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r740", "r741", "r742" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r743" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.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/2020-01-31", "presentation": [ "http://cyberoptics.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" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.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" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.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" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.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" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r744" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.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/2020-01-31", "presentation": [ "http://cyberoptics.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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.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" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r744" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.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" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r745" ], "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" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float", "terseLabel": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r744" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r744" ], "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" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r744" ], "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" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers", "terseLabel": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer", "terseLabel": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_IcfrAuditorAttestationFlag": { "auth_ref": [ "r740", "r741", "r742" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "localname": "IcfrAuditorAttestationFlag", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12gTitle": { "auth_ref": [ "r739" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(g) registered security.", "label": "Title of 12(g) Security" } } }, "localname": "Security12gTitle", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r738" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.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" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "srt_AffiliatedEntityMember": { "auth_ref": [ "r377", "r599", "r600", "r601", "r734" ], "lang": { "en-us": { "role": { "label": "Affiliated Entity [Member]", "terseLabel": "Affiliated Entity [Member]" } } }, "localname": "AffiliatedEntityMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r59", "r116" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]", "terseLabel": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "stringItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Europe [Member]" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r205", "r315", "r321", "r690" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r397", "r403", "r608", "r609", "r610", "r611", "r612", "r613", "r632", "r687", "r691" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r397", "r403", "r608", "r609", "r610", "r611", "r612", "r613", "r632", "r687", "r691" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r205", "r315", "r321", "r690" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Name of Major Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r199", "r315", "r319", "r633", "r686", "r688" ], "lang": { "en-us": { "role": { "label": "Products and Services [Axis]", "terseLabel": "Products and Services [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r199", "r315", "r319", "r633", "r686", "r688" ], "lang": { "en-us": { "role": { "label": "Products and Services [Domain]", "terseLabel": "Products and Services [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r352", "r397", "r403", "r608", "r609", "r610", "r611", "r612", "r613", "r632", "r687", "r691" ], "lang": { "en-us": { "role": { "label": "Range [Axis]", "terseLabel": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r352", "r397", "r403", "r608", "r609", "r610", "r611", "r612", "r613", "r632", "r687", "r691" ], "lang": { "en-us": { "role": { "label": "Range [Domain]", "terseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis": { "auth_ref": [ "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732" ], "lang": { "en-us": { "role": { "label": "Name of Property [Axis]", "terseLabel": "Name of Property [Axis]" } } }, "localname": "RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_RealEstateAndAccumulatedDepreciationNameOfPropertyDomain": { "auth_ref": [ "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732" ], "lang": { "en-us": { "role": { "label": "Name of Property [Domain]", "terseLabel": "Name of Property [Domain]" } } }, "localname": "RealEstateAndAccumulatedDepreciationNameOfPropertyDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]", "terseLabel": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "domainItemType" }, "srt_RestatementAdjustmentMember": { "auth_ref": [ "r129", "r130", "r131", "r132", "r134", "r135", "r139", "r140", "r141", "r143", "r144", "r146", "r147", "r158" ], "lang": { "en-us": { "role": { "label": "Restatement Adjustment [Member]", "terseLabel": "Cumulative effect adjustment of accumulated other comprehensive income [Member]", "verboseLabel": "Restatement Adjustment [Member]" } } }, "localname": "RestatementAdjustmentMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "domainItemType" }, "srt_RestatementAxis": { "auth_ref": [ "r129", "r130", "r131", "r132", "r134", "r135", "r139", "r140", "r141", "r143", "r144", "r145", "r146", "r147", "r158", "r229", "r230", "r451", "r498", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703" ], "lang": { "en-us": { "role": { "label": "Revision of Prior Period [Axis]" } } }, "localname": "RestatementAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "stringItemType" }, "srt_RestatementDomain": { "auth_ref": [ "r129", "r130", "r131", "r132", "r134", "r135", "r139", "r140", "r141", "r143", "r144", "r145", "r146", "r147", "r158", "r229", "r230", "r451", "r498", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703" ], "lang": { "en-us": { "role": { "label": "Revision of Prior Period [Domain]" } } }, "localname": "RestatementDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "domainItemType" }, "srt_RevisionOfPriorPeriodAccountingStandardsUpdateAdjustmentMember": { "auth_ref": [ "r134", "r135", "r141", "r229", "r230", "r451", "r498", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703" ], "lang": { "en-us": { "role": { "label": "Revision of Prior Period, Accounting Standards Update, Adjustment [Member]" } } }, "localname": "RevisionOfPriorPeriodAccountingStandardsUpdateAdjustmentMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember": { "auth_ref": [ "r134", "r135" ], "lang": { "en-us": { "role": { "label": "Revision of Prior Period, Change in Accounting Principle, Adjustment [Member]" } } }, "localname": "RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": { "auth_ref": [ "r127" ], "lang": { "en-us": { "role": { "label": "Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]", "terseLabel": "Schedule of valuation and qualifying" } } }, "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureScheduleOfvaluationAndQualifying" ], "xbrltype": "textBlockItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r200", "r201", "r315", "r320", "r689", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Segment, Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails", "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r200", "r201", "r315", "r320", "r689", "r722", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails", "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "srt_ValuationAndQualifyingAccountsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SCHEDULE OF VALUATION AND QUALIFYING ACCOUNTS [Abstract]" } } }, "localname": "ValuationAndQualifyingAccountsAbstract", "nsuri": "http://fasb.org/srt/2020-01-31", "xbrltype": "stringItemType" }, "srt_ValuationAndQualifyingAccountsDisclosureLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Valuation and Qualifying Accounts Disclosure [Line Items]", "terseLabel": "Schedule of valuation and qualifying" } } }, "localname": "ValuationAndQualifyingAccountsDisclosureLineItems", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "stringItemType" }, "srt_ValuationAndQualifyingAccountsDisclosureTable": { "auth_ref": [ "r127" ], "lang": { "en-us": { "role": { "label": "Valuation and Qualifying Accounts Disclosure [Table]" } } }, "localname": "ValuationAndQualifyingAccountsDisclosureTable", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "stringItemType" }, "stpr_MN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "MINNESOTA", "terseLabel": "MINNESOTA" } } }, "localname": "MN", "nsuri": "http://xbrl.sec.gov/stpr/2018-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingChangesAndErrorCorrectionsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "ADOPTION OF ASU NO. 2016-09, IMPROVEMENTS TO EMPLOYEE SHARE-BASED PAYMENT ACCOUNTING [Abstract]" } } }, "localname": "AccountingChangesAndErrorCorrectionsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountingStandardsUpdate201409Member": { "auth_ref": [ "r327" ], "lang": { "en-us": { "role": { "documentation": "Accounting Standards Update 2014-09 Revenue from Contracts with Customers (Topic 606).", "label": "Accounting Standards Update 2014-09 [Member]", "terseLabel": "Accounting Standards Update 2014-09 [Member]", "verboseLabel": "ASU 2014-09 [Member]" } } }, "localname": "AccountingStandardsUpdate201409Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingStandardsUpdate201601Member": { "auth_ref": [ "r559" ], "lang": { "en-us": { "role": { "documentation": "Accounting Standards Update 2016-01 Financial Instruments-Overall (Subtopic 825-10): Recognition and Measurement of Financial Assets and Financial Liabilities.", "label": "Accounting Standards Update 2016-01 [Member]", "terseLabel": "ASU 2016-01 [Member]" } } }, "localname": "AccountingStandardsUpdate201601Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingStandardsUpdate201602Member": { "auth_ref": [ "r583" ], "lang": { "en-us": { "role": { "documentation": "Accounting Standards Update 2016-02 Leases (Topic 842).", "label": "Accounting Standards Update 2016-02 [Member]", "terseLabel": "ASU 2016-02 [Member]" } } }, "localname": "AccountingStandardsUpdate201602Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingStandardsUpdate201609Member": { "auth_ref": [ "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461" ], "lang": { "en-us": { "role": { "documentation": "Accounting Standards Update 2016-09 Compensation - Stock Compensation (Topic 718): Improvements to Employee Share-Based Payment Accounting.", "label": "Accounting Standards Update 2016-09 [Member]", "terseLabel": "Accounting Standards Update 2016-09 [Member]", "verboseLabel": "ASU 2016-09 [Member]" } } }, "localname": "AccountingStandardsUpdate201609Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r44" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "verboseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable [Member]" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNet": { "auth_ref": [ "r26", "r671" ], "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.", "label": "Accounts Receivable, after Allowance for Credit Loss", "terseLabel": "Accounts receivable, net" } } }, "localname": "AccountsReceivableNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r4", "r26", "r206", "r207" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, less allowance for doubtful accounts of $302 at December 31, 2020 and $322 at December 31, 2019", "verboseLabel": "Accounts receivable" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetNoncurrent": { "auth_ref": [ "r26", "r206", "r657", "r671" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "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 noncurrent.", "label": "Accounts Receivable, after Allowance for Credit Loss, Noncurrent", "terseLabel": "Trade notes receivable, long-term" } } }, "localname": "AccountsReceivableNetNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r20", "r654", "r674" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails": { "order": 3.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 currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Income taxes payable" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesNoncurrent": { "auth_ref": [ "r21", "r654", "r674" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due beyond one year or the operating cycle, whichever is longer. Alternate captions include income taxes payable, noncurrent.", "label": "Accrued Income Taxes, Noncurrent", "terseLabel": "Reserve for income taxes", "verboseLabel": "Net UTB balance at end of year" } } }, "localname": "AccruedIncomeTaxesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r47" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "totalLabel": "Accrued expenses", "verboseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r41", "r274" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Accumulated depreciation and amortization", "verboseLabel": "Accumulated amortization for demonstration inventories" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember": { "auth_ref": [ "r61", "r69", "r72", "r524" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges, attributable to the parent.", "label": "Accumulated Net Gain (Loss) from Cash Flow Hedges Attributable to Parent [Member]", "terseLabel": "Foreign Exchange Forward Contracts [Member]" } } }, "localname": "AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": { "auth_ref": [ "r62", "r63", "r64", "r69", "r72" ], "lang": { "en-us": { "role": { "documentation": "Accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent.", "label": "Accumulated Net Investment Gain (Loss) Attributable to Parent [Member]", "terseLabel": "Unrealized Gains (Losses) On Available-for-sale Securities [Member]", "verboseLabel": "Available-for-sale Securities [Member]" } } }, "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossCumulativeChangesInNetGainLossFromCashFlowHedgesEffectNetOfTax": { "auth_ref": [ "r61", "r66", "r68" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change, net of tax, in accumulated gains and losses from derivative instruments designated and qualifying as the effective portion of cash flow hedges. Includes an entity's share of an equity investee's Increase or Decrease in deferred hedging gains or losses.", "label": "Accumulated Other Comprehensive Income (Loss), Cumulative Changes in Net Gain (Loss) from Cash Flow Hedges, Effect Net of Tax", "terseLabel": "Unrealized loss on effective portion of foreign exchange forward contracts, net" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossCumulativeChangesInNetGainLossFromCashFlowHedgesEffectNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "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": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails", "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r28", "r66", "r68", "r69", "r675", "r699", "r703" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 2.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", "periodEndLabel": "Balance at the end of period", "periodStartLabel": "Balance at the beginning of period", "verboseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails", "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "auth_ref": [ "r565", "r566", "r567", "r568", "r569", "r571" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss).", "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "terseLabel": "Accumulated Other Comprehensive Loss [Table]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails", "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r65", "r69", "r72", "r129", "r130", "r132", "r525", "r694", "r695" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Loss [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "auth_ref": [ "r60", "r69", "r72", "r525", "r566", "r567", "r568", "r569", "r571" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]", "terseLabel": "Foreign Currency Translation Adjustments [Member]" } } }, "localname": "AccumulatedTranslationAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r260" ], "lang": { "en-us": { "role": { "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Intangible assets acquired, Weighted Average Life (in years)" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_AdditionalFinancialInformationDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement.", "label": "Additional Financial Information Disclosure [Text Block]", "terseLabel": "OTHER FINANCIAL STATEMENT DATA" } } }, "localname": "AdditionalFinancialInformationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementData" ], "xbrltype": "textBlockItemType" }, "us-gaap_AdjustmentsForChangeInAccountingPrincipleAxis": { "auth_ref": [ "r134", "r135", "r136", "r137" ], "lang": { "en-us": { "role": { "documentation": "Information by type of change in accounting principle. Excludes change from amendment to accounting standards.", "label": "Adjustments for Change in Accounting Principle [Axis]" } } }, "localname": "AdjustmentsForChangeInAccountingPrincipleAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r134", "r135", "r136", "r137", "r225", "r226", "r227", "r228", "r229", "r230", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r495", "r496", "r497", "r498", "r635", "r636", "r637", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703" ], "lang": { "en-us": { "role": { "documentation": "Information by amendment to accounting standards.", "label": "Adjustments for New Accounting Pronouncements [Axis]", "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r405", "r407", "r463", "r464" ], "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": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Share-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "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]", "netLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "auth_ref": [ "r467" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for advertising cost.", "label": "Advertising Costs, Policy [Policy Text Block]", "terseLabel": "Advertising Costs" } } }, "localname": "AdvertisingCostsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_AdvertisingExpense": { "auth_ref": [ "r468" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.", "label": "Advertising Expense", "terseLabel": "Advertising expense" } } }, "localname": "AdvertisingExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r32", "r208", "r231" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for Doubtful Accounts Receivable, Current", "terseLabel": "Accounts receivable, allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r106", "r258", "r266" ], "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", "verboseLabel": "Amortization of intangibles" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r155" ], "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": "Earnings per share, potentially dilutive shares (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/NetIncomePerShareNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AreaOfRealEstateProperty": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area of a real estate property.", "label": "Area of Real Estate Property", "terseLabel": "Mixed office and warehouse facility, square footage" } } }, "localname": "AreaOfRealEstateProperty", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "areaItemType" }, "us-gaap_AssetBackedSecuritiesMember": { "auth_ref": [ "r216", "r353" ], "lang": { "en-us": { "role": { "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans.", "label": "Asset-backed Securities [Member]", "terseLabel": "Asset Backed Securities [Member]" } } }, "localname": "AssetBackedSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails", "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AssetImpairmentCharges": { "auth_ref": [ "r106", "r271" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.", "label": "Asset Impairment Charges", "terseLabel": "Asset impairment charges" } } }, "localname": "AssetImpairmentCharges", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r114", "r182", "r191", "r197", "r224", "r521", "r526", "r558", "r653", "r673" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "verboseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r7", "r9", "r58", "r114", "r224", "r521", "r526", "r558" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 0.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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r212" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax", "terseLabel": "Net pre-tax unrealized gains" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of unrealized loss in accumulated other comprehensive income (AOCI) on investments in equity securities classified as available-for-sale.", "label": "Available-for-sale Equity Securities, Accumulated Gross Unrealized Loss, before Tax", "negatedLabel": "Net pre-tax unrealized losses" } } }, "localname": "AvailableForSaleEquitySecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleEquitySecuritiesGrossUnrealizedLoss": { "auth_ref": [ "r213" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of unrealized loss before deducting unrealized gain on investments in available-for-sale equity securities.", "label": "Available-for-sale Equity Securities, Gross Unrealized Loss", "terseLabel": "Unrealized loss on available for sale equity security" } } }, "localname": "AvailableForSaleEquitySecuritiesGrossUnrealizedLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecurities": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesAmortizedCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading.", "label": "Available-for-sale Securities", "terseLabel": "Fair Value", "verboseLabel": "Fair value" } } }, "localname": "AvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r212" ], "calculation": { "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails": { "order": 0.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesAmortizedCost", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of unrealized gain in accumulated other comprehensive income (AOCI) on investments in debt and equity securities classified as available-for-sale.", "label": "Available-for-sale Securities, Accumulated Gross Unrealized Gain, before Tax", "terseLabel": "Unrealized Gains", "verboseLabel": "Unrealized gain" } } }, "localname": "AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesAmortizedCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of unrealized loss in accumulated other comprehensive income (AOCI) on investments in debt and equity securities classified as available-for-sale.", "label": "Available-for-sale Securities, Accumulated Gross Unrealized Loss, before Tax", "negatedLabel": "Unrealized Losses", "terseLabel": "Unrealized loss" } } }, "localname": "AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesAmortizedCost": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "totalLabel": "Cost" } } }, "localname": "AvailableForSaleSecuritiesAmortizedCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for twelve months or longer.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss", "negatedLabel": "In Unrealized Loss Position For Greater Than 12 Months" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Accumulated Loss [Abstract]", "terseLabel": "Gross Unrealized Losses" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLossAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value [Abstract]", "terseLabel": "Fair Value" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of fair value of investments in debt and equity securities in an unrealized loss position categorized neither as held-to-maturity nor trading securities.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value [Table Text Block]", "terseLabel": "Schedule of Unrealized Loss Position" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for less than twelve months.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss", "negatedLabel": "In Unrealized Loss Position For Less Than 12 Months" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for less than twelve months.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value", "terseLabel": "In Unrealized Loss Position For Less Than 12 Months" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for twelve months or longer.", "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value", "terseLabel": "In Unrealized Loss Position For Greater Than 12 Months" } } }, "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesGrossRealizedGainLossNet": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This item represents the difference between the gross realized gains and losses realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities. Additionally, this item would include any losses recognized for other than temporary impairments (OTTI) of the subject investments in debt and equity securities.", "label": "Available-for-sale Securities, Gross Realized Gain (Loss)", "negatedLabel": "Realized gain on available for sale marketable securities", "terseLabel": "Available-for-sale securities, gross realized gain (loss)" } } }, "localname": "AvailableForSaleSecuritiesGrossRealizedGainLossNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows", "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of available-for-sale securities which includes, but is not limited to, changes in the cost basis and fair value, fair value and gross unrealized gain (loss), fair values by type of security, contractual maturity and classification, amortized cost basis, contracts to acquire securities to be accounted for as available-for-sale, debt maturities, transfers to trading, change in net unrealized holding gain (loss) net of tax, continuous unrealized loss position fair value, aggregate losses qualitative disclosures, other than temporary impairment (OTTI) losses or other disclosures related to available for sale securities.", "label": "Available-for-sale Securities [Table Text Block]", "terseLabel": "Schedule of Marketable Securities" } } }, "localname": "AvailableForSaleSecuritiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AverageRemainingMaturityOfForeignCurrencyDerivatives1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Average period remaining before foreign currency exchange rate derivatives mature or expire, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Average Remaining Maturity of Foreign Currency Derivatives", "terseLabel": "Average remaining maturity of foreign currency derivatives (in years)" } } }, "localname": "AverageRemainingMaturityOfForeignCurrencyDerivatives1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r409", "r442" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationsPolicy": { "auth_ref": [ "r111", "r513" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.", "label": "Business Combinations Policy [Policy Text Block]", "terseLabel": "Business Combinations" } } }, "localname": "BusinessCombinationsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalizedContractCostImpairmentLoss": { "auth_ref": [ "r249" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Impairment Loss", "terseLabel": "Impairment losses for contract assets" } } }, "localname": "CapitalizedContractCostImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r37", "r108" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 0.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 \u2013 end of period", "periodStartLabel": "Cash and cash equivalents \u2013 beginning of period", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 0.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Includes effect from exchange rate changes.", "label": "Cash and Cash Equivalents, Period Increase (Decrease)", "totalLabel": "Net increase (decrease) in cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r15", "r109", "r111" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash and Cash Equivalents" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock": { "auth_ref": [ "r223" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of cash, cash equivalents, and debt and equity securities, including any unrealized or realized gain (loss).", "label": "Cash, Cash Equivalents, and Marketable Securities [Text Block]", "verboseLabel": "MARKETABLE SECURITIES" } } }, "localname": "CashCashEquivalentsAndMarketableSecuritiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecurities" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r103", "r564" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "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" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "monetaryItemType" }, "us-gaap_ChangeInAccountingPrincipleMember": { "auth_ref": [ "r134", "r135", "r136", "r137" ], "lang": { "en-us": { "role": { "documentation": "Change in accounting principle. Excludes change from amendment to accounting standards.", "label": "Adjustments for Change in Accounting Principle [Domain]" } } }, "localname": "ChangeInAccountingPrincipleMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r50", "r281", "r659", "r679" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONTINGENCIES [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r278", "r279", "r280", "r288" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "verboseLabel": "CONTINGENCIES" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Contingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r129", "r130" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockNoParValue": { "auth_ref": [ "r25" ], "lang": { "en-us": { "role": { "documentation": "Face amount per share of no-par value common stock.", "label": "Common Stock, No Par Value", "verboseLabel": "Common stock, par value (in usd per share)" } } }, "localname": "CommonStockNoParValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r25" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "verboseLabel": "Common stock, shares authorized, shares" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r25" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "verboseLabel": "Common stock, shares issued, shares" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r25", "r301" ], "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", "verboseLabel": "Common stock, shares outstanding, shares" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r25" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "terseLabel": "Common stock, no par value, 25,000,000 shares authorized, 7,294,617 shares issued and outstanding at December 31, 2020 and 7,154,591 shares issued and outstanding at December 31, 2019", "verboseLabel": "Common stock" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": { "auth_ref": [ "r329", "r330", "r404", "r466" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.", "label": "Compensation and Employee Benefit Plans [Text Block]", "terseLabel": "401(K) AND OTHER DEFINED CONTRIBUTION PLANS" } } }, "localname": "CompensationAndEmployeeBenefitPlansTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlans" ], "xbrltype": "textBlockItemType" }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "401(K) AND OTHER DEFINED CONTRIBUTION PLANS [Abstract]" } } }, "localname": "CompensationAndRetirementDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r75", "r77", "r78", "r84", "r663", "r682" ], "calculation": { "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Total comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "COMPREHENSIVE INCOME [Abstract]" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "auth_ref": [ "r83", "r94", "r662", "r681" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.", "label": "Comprehensive Income (Loss) Note [Text Block]", "verboseLabel": "COMPREHENSIVE INCOME (LOSS)" } } }, "localname": "ComprehensiveIncomeNoteTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncome" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for comprehensive income.", "label": "Comprehensive Income, Policy [Policy Text Block]", "terseLabel": "Comprehensive Income" } } }, "localname": "ComprehensiveIncomePolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r259", "r264", "r517" ], "lang": { "en-us": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]", "terseLabel": "Software [Member]" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r171", "r172", "r205", "r555", "r556" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r171", "r172", "r205", "r555", "r556", "r705" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r171", "r172", "r205", "r555", "r556", "r705" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "auth_ref": [ "r177" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.", "label": "Concentration Risk Disclosure [Text Block]", "terseLabel": "REVENUE CONCENETRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS" } } }, "localname": "ConcentrationRiskDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreas" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "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": "Concentration Risk [Line Items]", "terseLabel": "Product Information [Line Items]", "verboseLabel": "Revenue, Major Customer [Line Items]" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r171", "r172", "r205", "r555", "r556" ], "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", "verboseLabel": "Percentage of Revenues" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r169", "r171", "r172", "r173", "r555", "r557" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r171", "r172", "r205", "r555", "r556" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r111", "r523" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of Consolidation" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r306" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Summary of contract assets and contract liabilities" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r303", "r305", "r316" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract with Customer, Asset, Net", "terseLabel": "Contract assets, included in other current assets" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r303", "r304", "r316" ], "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 liabilities - advance customer payments" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r303", "r304", "r316" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Advance customer payments" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r303", "r304", "r316" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Contract with Customer, Liability, Noncurrent", "terseLabel": "Contract liabilities" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r317" ], "calculation": { "http://cyberoptics.com/role/RevenueRecognitionSummaryoftheamountsreclassifiedfrombeginningcontractliabilitiestorevenueDetails": { "order": 0.0, "parentTag": "cybe_ContractWithCustomerLiabilityAndDeferredRevenueRevenueRecognized", "weight": 1.0 } }, "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": "Amounts reclassified from beginning contract liabilities to revenue" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionSummaryoftheamountsreclassifiedfrombeginningcontractliabilitiestorevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r90", "r114", "r224", "r558" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "verboseLabel": "Cost of revenues" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of Revenues [Member]" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r115", "r491", "r501" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": 0.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current Federal Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "auth_ref": [ "r118", "r491" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": 2.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current Foreign Tax Expense (Benefit)", "terseLabel": "Foreign" } } }, "localname": "CurrentForeignTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r115", "r491", "r501", "r503" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.", "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Total current" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Current:" } } }, "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r115", "r491", "r501" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": 1.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r170", "r205" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelatedIntangibleAssetsMember": { "auth_ref": [ "r514" ], "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": "Marketing Assets and Customer Relationships [Member]" } } }, "localname": "CustomerRelatedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r115", "r492", "r501" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": 0.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "auth_ref": [ "r115", "r492", "r501" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Foreign Income Tax Expense (Benefit)", "terseLabel": "Foreign" } } }, "localname": "DeferredForeignIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r471", "r472" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances 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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r106", "r115", "r492", "r501", "r502", "r503" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": 0.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "terseLabel": "Deferred taxes", "totalLabel": "Total deferred" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows", "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Deferred:" } } }, "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredIncomeTaxLiabilities": { "auth_ref": [ "r22", "r23", "r483", "r655", "r670" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.", "label": "Deferred Tax Liabilities, Gross", "totalLabel": "Subtotal" } } }, "localname": "DeferredIncomeTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRentCreditNoncurrent": { "auth_ref": [ "r51", "r576" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails": { "order": 0.0, "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "For a classified balance sheet, the cumulative difference between the rental income or payments required by a lease agreement and the rental income or expense recognized on a straight-line basis, or other systematic and rational basis more representative of the time pattern in which use or benefit is granted or derived from the leased property, expected to be recognized in income or expense, by the lessor or lessee, respectively, more than one year after the balance sheet date.", "label": "Deferred Rent Credit, Noncurrent", "terseLabel": "Deferred rent" } } }, "localname": "DeferredRentCreditNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": { "auth_ref": [ "r11" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.", "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]", "terseLabel": "Schedule of Changes in Deferred Warranty Revenue" } } }, "localname": "DeferredRevenueByArrangementDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredRevenueRevenueRecognized1": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/RevenueRecognitionSummaryoftheamountsreclassifiedfrombeginningcontractliabilitiestorevenueDetails": { "order": 1.0, "parentTag": "cybe_ContractWithCustomerLiabilityAndDeferredRevenueRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.", "label": "Deferred Revenue, Revenue Recognized", "terseLabel": "Amounts reclassified from deferred warranty revenue" } } }, "localname": "DeferredRevenueRevenueRecognized1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionSummaryoftheamountsreclassifiedfrombeginningcontractliabilitiestorevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r115", "r492", "r501" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsDeferredIncome": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.", "label": "Deferred Tax Assets, Deferred Income", "terseLabel": "Deferred revenue" } } }, "localname": "DeferredTaxAssetsDeferredIncome", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r484" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Gross", "totalLabel": "Subtotal" } } }, "localname": "DeferredTaxAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGrossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Gross [Abstract]", "terseLabel": "Assets" } } }, "localname": "DeferredTaxAssetsGrossAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxAssetsInventory": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.", "label": "Deferred Tax Assets, Inventory", "terseLabel": "Inventory allowances" } } }, "localname": "DeferredTaxAssetsInventory", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r486" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Net of Valuation Allowance", "totalLabel": "Total deferred tax assets" } } }, "localname": "DeferredTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.", "label": "Deferred Tax Assets, Operating Loss Carryforwards", "terseLabel": "Federal and state net operating loss carry forwards" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic": { "auth_ref": [ "r489", "r490" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible domestic operating loss carryforwards. Excludes state and local operating loss carryforwards.", "label": "Deferred Tax Assets, Operating Loss Carryforwards, Domestic", "terseLabel": "Deferred tax assets, operating loss carryforwards, domestic" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwardsDomestic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards.", "label": "Deferred Tax Assets, Operating Loss Carryforwards, Foreign", "terseLabel": "Deferred tax assets, operating loss carryforwards, foreign", "verboseLabel": "Foreign net operating loss carry forwards" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwardsForeign", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails", "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOther": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.", "label": "Deferred Tax Assets, Other", "terseLabel": "Other, net" } } }, "localname": "DeferredTaxAssetsOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOtherComprehensiveLoss": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses in other comprehensive income.", "label": "Deferred Tax Assets, Other Comprehensive Loss", "terseLabel": "Unrealized gains and losses" } } }, "localname": "DeferredTaxAssetsOtherComprehensiveLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": { "auth_ref": [ "r488", "r489", "r490" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.", "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research", "terseLabel": "Research & Development tax credits" } } }, "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 8.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.", "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost", "terseLabel": "Share-based compensation" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 11.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities", "terseLabel": "Accrued expenses" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 9.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the allowance for doubtful accounts.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts", "terseLabel": "Accounts receivable allowance" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 10.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves", "terseLabel": "Warranty accrual" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r485" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.", "label": "Deferred Tax Assets, Valuation Allowance", "negatedLabel": "Valuation allowance", "terseLabel": "Valuation allowance" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilities": { "auth_ref": [ "r472", "r486" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.", "label": "Deferred Tax Liabilities, Net", "totalLabel": "Total deferred tax liabilities" } } }, "localname": "DeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Gross [Abstract]", "terseLabel": "Liabilities" } } }, "localname": "DeferredTaxLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 0.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from inventory.", "label": "Deferred Tax Liabilities, Inventory", "terseLabel": "Inventory allowances" } } }, "localname": "DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesOther": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.", "label": "Deferred Tax Liabilities, Other", "terseLabel": "Other, net" } } }, "localname": "DeferredTaxLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome": { "auth_ref": [ "r489", "r490" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains in other comprehensive income.", "label": "Deferred Tax Liabilities, Other Comprehensive Income", "terseLabel": "Unrealized gains and losses" } } }, "localname": "DeferredTaxLiabilitiesOtherComprehensiveIncome", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings": { "auth_ref": [ "r489" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from undistributed earnings of subsidiary and other recognized entity not within country of domicile. Includes, but is not limited to, other basis differences.", "label": "Deferred Tax Liabilities, Undistributed Foreign Earnings", "terseLabel": "Earnings of foreign subsidiary", "verboseLabel": "Deferred tax liability for subsidiary's undistributed earnings" } } }, "localname": "DeferredTaxLiabilitiesUndistributedForeignEarnings", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails", "http://cyberoptics.com/role/IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanDisclosureLineItems": { "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": "Defined Contribution Plan Disclosure [Line Items]" } } }, "localname": "DefinedContributionPlanDisclosureLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.", "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "terseLabel": "Matching contributions to employees" } } }, "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanTable": { "auth_ref": [ "r393" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans.", "label": "Defined Contribution Plan [Table]" } } }, "localname": "DefinedContributionPlanTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails" ], "xbrltype": "stringItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r106", "r272" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation expense" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r106", "r180" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.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", "verboseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentsAndHedgesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "DERIVATIVES [Abstract]" } } }, "localname": "DerivativeInstrumentsAndHedgesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r547" ], "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]", "verboseLabel": "DERIVATIVES" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Derivatives" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": { "auth_ref": [ "r533", "r536", "r539", "r541", "r542", "r544", "r545" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet": { "auth_ref": [ "r538", "r540" ], "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": "Pretax Loss Recognized in Earnings on Effective Portion of Derivative as a Result of Reclassification from Accumulated Other Comprehensive Loss" } } }, "localname": "DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativesPolicyTextBlock": { "auth_ref": [ "r111", "r119", "r529", "r531", "r533", "r535", "r543" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities.", "label": "Derivatives, Policy [Policy Text Block]", "terseLabel": "Derivatives and Hedging" } } }, "localname": "DerivativesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member": { "auth_ref": [ "r326" ], "lang": { "en-us": { "role": { "documentation": "Effect in current period from application of guidance for revenue from contract with customer compared with guidance for revenue recognition applicable prior to change when using transition method for cumulative effect in period including initial date of application.", "label": "Difference between Revenue Guidance in Effect before and after Topic 606 [Member]", "terseLabel": "Effect of adoption of Topic 606 [Member]" } } }, "localname": "DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "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": "Performance Obligations" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r315", "r319", "r320", "r321", "r322", "r323", "r324", "r325" ], "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]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r315" ], "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": "Summary of revenue performance obligations" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606Tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r466" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "verboseLabel": "SHARE-BASED COMPENSATION" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "NET INCOME PER SHARE [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r85", "r139", "r140", "r141", "r142", "r143", "r148", "r150", "r152", "r153", "r154", "r158", "r159", "r664", "r683" ], "calculation": { "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails": { "order": 0.0, "parentTag": "us-gaap_EarningsPerShareDiluted", "weight": 1.0 } }, "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", "netLabel": "Net income per share - Basic (in usd per share)", "terseLabel": "Per Share Amount, Basic (in usd per share)", "verboseLabel": "Net income (loss) per share - Basic (in usd per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails", "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAndDiluted": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income or loss for the period per each share in instances when basic and diluted earnings per share are the same amount and reported as a single line item on the face of the financial statements. Basic earnings per share is the amount of net income or loss for the period per each share of common stock or unit outstanding during the reporting period. Diluted earnings per share includes the amount of net income or 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, Basic and Diluted", "terseLabel": "Income per share" } } }, "localname": "EarningsPerShareBasicAndDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r85", "r139", "r140", "r141", "r142", "r143", "r150", "r152", "r153", "r154", "r158", "r159", "r664", "r683" ], "calculation": { "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "netLabel": "Net income per share - Diluted (in usd per share)", "totalLabel": "Per Share Amount, Dilutive (in usd per share)", "verboseLabel": "Net income (loss) per share - Diluted (in usd per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails", "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r111", "r155", "r156" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r155", "r156", "r157", "r160" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "verboseLabel": "NET INCOME PER SHARE" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureNetIncomePerShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents": { "auth_ref": [ "r564" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.", "label": "Effect of Exchange Rate on Cash and Cash Equivalents", "verboseLabel": "Effects of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r474" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "totalLabel": "Effective tax rate (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r474", "r505" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 0.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "verboseLabel": "Federal statutory rate (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r474", "r505" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 11.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.", "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent", "terseLabel": "Valuation allowance (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r474", "r505" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 8.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent", "terseLabel": "Foreign rate difference (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": { "auth_ref": [ "r474", "r505" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 5.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Percent", "terseLabel": "Share-based compensation (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "auth_ref": [ "r474", "r505" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 13.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.", "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent", "terseLabel": "Other, net (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount": { "auth_ref": [ "r465", "r474" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Amount", "terseLabel": "Effective tax rate reconciliation, Excess tax expenses (benefits) from employee stock option exercises and vesting of restricted stock units and restricted shares, Amount" } } }, "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r474", "r505" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 1.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "State income taxes, net of federal benefit (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsForeign": { "auth_ref": [ "r474", "r505" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 7.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Foreign, Percent", "negatedLabel": "Foreign tax credit (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsForeign", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": { "auth_ref": [ "r474", "r505" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails": { "order": 6.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent", "negatedLabel": "Research and experimentation (R&D) credit (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfReconciliationOfStatutoryRateToEffectiveIncomeTaxRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectsOnFutureEarningsAndCashFlowsByTypeOfEffectDomain": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "Identification of the types of effects on future earnings and cash flows.", "label": "Effects on Future Earnings and Cash Flows, by Type of Effect [Domain]" } } }, "localname": "EffectsOnFutureEarningsAndCashFlowsByTypeOfEffectDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EffectsOnFutureEarningsAndCashFlowsResultingFromExitPlanAxis": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "Information by effect on future earnings and cash flows resulting from an exit plan.", "label": "Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Axis]" } } }, "localname": "EffectsOnFutureEarningsAndCashFlowsResultingFromExitPlanAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EffectsOnFutureEarningsAndCashFlowsResultingFromExitPlanLineItems": { "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": "Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Line Items]", "terseLabel": "Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Line Items]" } } }, "localname": "EffectsOnFutureEarningsAndCashFlowsResultingFromExitPlanLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r47" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails": { "order": 0.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Wages and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r441" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized", "terseLabel": "Unrecognized compensation cost related to non-vested equity based compensation" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r441" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Unrecognized equity based compensation weighted average period (in years)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "auth_ref": [ "r440" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Tax Benefit from Compensation Expense", "terseLabel": "Income tax benefits related to share-based compensation", "verboseLabel": "Tax benefit from the exercise of stock options and vesting of share based payments" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationSummaryOfPretaxEquityBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions": { "auth_ref": [ "r443" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax benefit from exercise of option under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Tax Benefit from Exercise of Stock Options", "terseLabel": "Excess tax benefit from the exercise of stock options" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock.", "label": "Employee Stock [Member]", "terseLabel": "Employee Stock Purchase Plan [Member]" } } }, "localname": "EmployeeStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r439" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Employee Stock Option [Member]", "terseLabel": "Stock Options [Member]" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services.", "label": "Equipment [Member]", "terseLabel": "Equipment [Member]" } } }, "localname": "EquipmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SHARE REPURCHASES [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r129", "r130", "r132", "r135", "r144", "r147", "r164", "r228", "r301", "r302", "r448", "r449", "r450", "r497", "r498", "r565", "r566", "r567", "r568", "r569", "r571", "r694", "r695", "r696" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails", "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_EquitySecuritiesMember": { "auth_ref": [ "r16", "r19", "r223", "r672", "r719", "r720", "r721" ], "lang": { "en-us": { "role": { "documentation": "Ownership interest or right to acquire or dispose of ownership interest in corporations and other legal entities for which ownership interest is represented by shares of common or preferred stock, convertible securities, stock rights, or stock warrants.", "label": "Equity Securities [Member]", "terseLabel": "Equity Security [Member]" } } }, "localname": "EquitySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails", "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ExtendedProductWarrantyAccrual": { "auth_ref": [ "r297" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability.", "label": "Extended Product Warranty Accrual", "periodEndLabel": "Total deferred warranty revenue", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "ExtendedProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ExtendedProductWarrantyAccrualCurrent": { "auth_ref": [ "r47" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails": { "order": 0.0, "parentTag": "us-gaap_ExtendedProductWarrantyAccrual", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid within one year of the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability.", "label": "Extended Product Warranty Accrual, Current", "negatedTerseLabel": "Current portion of deferred warranty revenue" } } }, "localname": "ExtendedProductWarrantyAccrualCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ExtendedProductWarrantyAccrualNoncurrent": { "auth_ref": [ "r49" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails": { "order": 1.0, "parentTag": "us-gaap_ExtendedProductWarrantyAccrual", "weight": 1.0 }, "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid after one year from the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability.", "label": "Extended Product Warranty Accrual, Noncurrent", "terseLabel": "Long-term deferred warranty revenue", "verboseLabel": "Deferred warranty revenue" } } }, "localname": "ExtendedProductWarrantyAccrualNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r298" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the extended product warranty accrual from warranties issued. Excludes standard product warranties.", "label": "Extended Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Revenue deferrals" } } }, "localname": "ExtendedProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ExtraordinaryAndUnusualItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "COVID-19 PANDEMIC" } } }, "localname": "ExtraordinaryAndUnusualItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r548", "r549", "r550", "r552" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value Measurements, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r548", "r549" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "verboseLabel": "Fair Value Measurements for Marketable Securities and Foreign Exchange Forward Contracts" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r392", "r549", "r605", "r606", "r607" ], "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 [Axis]", "terseLabel": "Fair Value, Hierarchy [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "FAIR VALUE MEASUREMENTS [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r551" ], "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]", "verboseLabel": "FAIR VALUE MEASUREMENTS" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r353", "r354", "r359", "r392", "r549", "r605" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Quoted Prices In Active Markets For Identical Assets (Level 1) [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r353", "r354", "r359", "r392", "r549", "r606" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Significant Other Observable Inputs (Level 2) [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r392", "r549", "r607" ], "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": "Significant Unobservable Inputs (Level 3) [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r392", "r605", "r606", "r607" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy [Domain]", "terseLabel": "Fair Value, Measurements, Fair Value Hierarchy [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r111", "r553", "r554" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Fair Value of Financial Instruments" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r216", "r217", "r232", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails", "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails", "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r265" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails": { "order": 0.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", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r267" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "Amortization expense, 2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.", "label": "Finite-lived Intangible Assets Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Amortization Expense for Intangible Assets" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r267" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "Amortization expense, 2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r267" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "Amortization expense, 2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r267" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "Amortization expense, 2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r267" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "Amortization expense, 2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r259", "r261", "r265", "r268", "r634", "r638" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r265", "r638" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r259", "r264" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r265", "r634" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Backlog amount", "totalLabel": "Net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyCashFlowHedgeGainLossReclassifiedToEarningsNet": { "auth_ref": [ "r538" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of net gains or losses on foreign currency cash flow hedges reclassified during the period to earnings from accumulated other comprehensive income upon the hedged transaction affecting earnings.", "label": "Foreign Currency Cash Flow Hedge Gain (Loss) Reclassified to Earnings, Net", "negativeTerseLabel": "After tax net unrealized loss recorded in accumulated other comprehensive loss reclassified to earnings" } } }, "localname": "ForeignCurrencyCashFlowHedgeGainLossReclassifiedToEarningsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.", "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure", "netLabel": "Derivative instruments-liabilities: Foreign exchange forward contracts", "terseLabel": "Foreign exchange forward contracts, liability" } } }, "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesNarrativeDetails", "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails", "http://cyberoptics.com/role/FairValueMeasurementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r560", "r561", "r562", "r563" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Recognized foreign currency transactions gain (loss)" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossRealized": { "auth_ref": [ "r562", "r563" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), Realized", "negatedLabel": "Foreign currency transaction (gains) losses", "terseLabel": "Recognized foreign currency transactions gain (loss)" } } }, "localname": "ForeignCurrencyTransactionGainLossRealized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r111", "r572" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "terseLabel": "Foreign Currency Translation And Transactions" } } }, "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ForeignEarningsRepatriated": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign earnings repatriated from subsidiaries outside the country of domicile.", "label": "Foreign Earnings Repatriated", "terseLabel": "Foreign earnings repatriated" } } }, "localname": "ForeignEarningsRepatriated", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r106" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "Gain on sale of equipment" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r250", "r252", "r652" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 4.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", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "GOODWILL [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": { "auth_ref": [ "r111", "r254" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.", "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": { "auth_ref": [ "r111", "r262" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.", "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]", "terseLabel": "Long Lived Assets" } } }, "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillDisclosureTextBlock": { "auth_ref": [ "r256" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill.", "label": "Goodwill Disclosure [Text Block]", "verboseLabel": "GOODWILL" } } }, "localname": "GoodwillDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Goodwill" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillImpairmentLoss": { "auth_ref": [ "r106", "r251", "r253", "r255" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Impairment Loss", "terseLabel": "Goodwill impairment" } } }, "localname": "GoodwillImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r89", "r114", "r182", "r190", "r193", "r196", "r198", "r224", "r558" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": 0.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross margin", "totalLabel": "Gross margin" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncentiveToLessee": { "auth_ref": [ "r577", "r578" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This item represents the deferred charge for an incentive or inducement granted by a lessor to a lessee, in order to motivate the lessee to enter the lease agreement, which incentive or inducement is to be recognized as a reduction of rental revenue over the lease term.", "label": "Incentive to Lessee", "terseLabel": "Incentives from landlord recorded as leasehold improvements" } } }, "localname": "IncentiveToLessee", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "auth_ref": [ "r117", "r504" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfIncomeBeforeIncomeTaxesDetails": { "order": 0.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic", "terseLabel": "Sources of income (loss) before income taxes: United States" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfIncomeBeforeIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r81", "r182", "r190", "r193", "r196", "r198", "r651", "r660", "r665", "r684" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": 0.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 }, "http://cyberoptics.com/role/IncomeTaxesScheduleOfIncomeBeforeIncomeTaxesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/IncomeTaxesScheduleOfIncomeBeforeIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "auth_ref": [ "r117", "r504" ], "calculation": { "http://cyberoptics.com/role/IncomeTaxesScheduleOfIncomeBeforeIncomeTaxesDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign", "terseLabel": "Sources of income (loss) before income taxes: Foreign" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesScheduleOfIncomeBeforeIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r276" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "INCOME TAXES [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r475", "r482", "r487", "r499", "r506", "r510", "r511", "r512" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "INCOME TAXES" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r115", "r146", "r147", "r181", "r473", "r500", "r508", "r685" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 }, "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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)", "totalLabel": "Total provision (benefit) for income taxes", "verboseLabel": "Income tax provision" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/IncomeTaxesScheduleOfProvisionBenefitForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r110" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash payments for income taxes, net of refunds received" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "verboseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts and trade notes receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "verboseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Advance customer payments and other" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInCustomerAdvances": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amount of prepayments by customers for goods or services to be provided at a later date.", "label": "Increase (Decrease) in Customer Advances", "verboseLabel": "Advance customer payments" } } }, "localname": "IncreaseDecreaseInCustomerAdvances", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Liabilities", "terseLabel": "Operating lease liabilities" } } }, "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis": { "auth_ref": [ "r326" ], "lang": { "en-us": { "role": { "documentation": "Information about effect of transition method for cumulative effect in initial period of application.", "label": "Initial Application Period Cumulative Effect Transition [Axis]" } } }, "localname": "InitialApplicationPeriodCumulativeEffectTransitionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain": { "auth_ref": [ "r326" ], "lang": { "en-us": { "role": { "documentation": "Effect of transition method for cumulative effect in initial period of application.", "label": "Initial Application Period Cumulative Effect Transition [Domain]" } } }, "localname": "InitialApplicationPeriodCumulativeEffectTransitionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r257", "r263" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible Assets, Net (Excluding Goodwill)", "verboseLabel": "Intangibles, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryFinishedGoods": { "auth_ref": [ "r53" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.", "label": "Inventory, Finished Goods, Gross", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoods", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r3", "r55" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails": { "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", "totalLabel": "Total inventories", "verboseLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r14", "r56", "r111", "r161", "r242", "r244", "r246" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.", "label": "Inventory, Policy [Policy Text Block]", "terseLabel": "Inventories" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryRawMaterialsAndPurchasedPartsNetOfReserves": { "auth_ref": [ "r34", "r245" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails": { "order": 0.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 items purchased for use as components of a finished product or pieces of machinery and equipment plus any items in their natural and unrefined state. This element may be used when the reporting entity combines raw materials and purchased parts into an aggregate amount.", "label": "Inventory, Raw Materials and Purchased Parts, Net of Reserves", "terseLabel": "Raw materials and purchased parts" } } }, "localname": "InventoryRawMaterialsAndPurchasedPartsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserveMember": { "auth_ref": [ "r126" ], "lang": { "en-us": { "role": { "documentation": "Reserve to reduce inventory to lower of cost or net realizable value.", "label": "Inventory Valuation Reserve [Member]", "terseLabel": "Allowance for obsolete inventory" } } }, "localname": "InventoryValuationReserveMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r54" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.", "label": "Inventory, Work in Process, Gross", "terseLabel": "Work in process" } } }, "localname": "InventoryWorkInProcess", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r243" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.", "label": "Inventory Write-down", "terseLabel": "Inventory write down" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentTypeAxis": { "auth_ref": [ "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721" ], "lang": { "en-us": { "role": { "documentation": "Information by type of investments.", "label": "Investment Type [Axis]" } } }, "localname": "InvestmentTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InvestmentTypeCategorizationMember": { "auth_ref": [ "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721" ], "lang": { "en-us": { "role": { "documentation": "Asset obtained to generate income or appreciate in value.", "label": "Investments [Domain]" } } }, "localname": "InvestmentTypeCategorizationMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InvestmentsFairValueDisclosure": { "auth_ref": [ "r548" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of investment securities, including, but not limited to, marketable securities, derivative financial instruments, and investments accounted for under the equity method.", "label": "Investments, Fair Value Disclosure", "terseLabel": "Marketable securities" } } }, "localname": "InvestmentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseAndRentalExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of rent expense incurred for leased assets, including but not limited to, furniture and equipment, that is not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "Operating Leases, Rent Expense", "terseLabel": "Rent expense" } } }, "localname": "LeaseAndRentalExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r596", "r597" ], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r596" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of components of our costs for operating leases" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r273" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold Improvements [Member]" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesOfLesseeDisclosureTextBlock": { "auth_ref": [ "r582" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.", "label": "Leases of Lessee Disclosure [Text Block]", "terseLabel": "OPERATING LEASES" } } }, "localname": "LeasesOfLesseeDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeasesOperatingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "OPERATING LEASES [Abstract]" } } }, "localname": "LeasesOperatingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r588" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.", "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Operating Leases" } } }, "localname": "LesseeLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r589" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Renewal options, term (in years)" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r589" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Period for recognizing rental expense (in years)" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LessorOperatingLeaseRenewalTerm": { "auth_ref": [ "r598" ], "lang": { "en-us": { "role": { "documentation": "Term of lessor's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessor, Operating Lease, Renewal Term", "terseLabel": "Lease extension period (in years)" } } }, "localname": "LessorOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r45", "r114", "r192", "r224", "r522", "r526", "r527", "r558" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 0.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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r31", "r114", "r224", "r558", "r656", "r677" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "verboseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r48", "r114", "r224", "r522", "r526", "r527", "r558" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 0.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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "auth_ref": [ "r203" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.", "label": "Long-lived Assets by Geographic Areas [Table Text Block]", "terseLabel": "Schedule Of Long-lived Assets Attributable To Each Geographic Area's Operations" } } }, "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_MarketableSecuritiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "MARKETABLE SECURITIES [Abstract]" } } }, "localname": "MarketableSecuritiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_MarketableSecuritiesCurrent": { "auth_ref": [ "r5", "r46" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security, classified as current.", "label": "Marketable Securities, Current", "verboseLabel": "Marketable securities" } } }, "localname": "MarketableSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesNoncurrent": { "auth_ref": [ "r38" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security, classified as noncurrent.", "label": "Marketable Securities, Noncurrent", "terseLabel": "Marketable securities, long-term" } } }, "localname": "MarketableSecuritiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesPolicy": { "auth_ref": [ "r669" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for investment classified as marketable security.", "label": "Marketable Securities, Policy [Policy Text Block]", "terseLabel": "Marketable Securities" } } }, "localname": "MarketableSecuritiesPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_MarketableSecuritiesUnrealizedGainLoss": { "auth_ref": [ "r87" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrealized gain (loss) on investment in marketable security.", "label": "Marketable Securities, Unrealized Gain (Loss)", "terseLabel": "Unrealized gains or losses on marketable securities" } } }, "localname": "MarketableSecuritiesUnrealizedGainLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maximum amount of time remaining before foreign currency exchange rate derivatives mature or expire, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Maximum Remaining Maturity of Foreign Currency Derivatives", "terseLabel": "Maximum length of time to hedge (in months)" } } }, "localname": "MaximumRemainingMaturityOfForeignCurrencyDerivatives1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_MovementInExtendedProductWarrantyAccrualRollForward": { "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 Extended Product Warranty Accrual [Roll Forward]", "terseLabel": "Movement in Extended Product Warranty Accrual [Roll Forward]" } } }, "localname": "MovementInExtendedProductWarrantyAccrualRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInDeferredWarrantyRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Standard Product Warranty Accrual [Roll Forward]", "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]" } } }, "localname": "MovementInStandardProductWarrantyAccrualRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r103" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from 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) provided by financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r103" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r103", "r104", "r107" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 0.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r0", "r73", "r76", "r82", "r107", "r114", "r134", "r139", "r140", "r141", "r142", "r146", "r147", "r151", "r182", "r190", "r193", "r196", "r198", "r224", "r558", "r661", "r680" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 0.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "netLabel": "Net income", "terseLabel": "Net income", "totalLabel": "Net income", "verboseLabel": "Net income (loss)" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows", "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails", "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedDetails", "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": { "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": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]", "terseLabel": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]" } } }, "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": { "auth_ref": [ "r133", "r134", "r135", "r136", "r137", "r138", "r141", "r158", "r225", "r226", "r227", "r228", "r229", "r230", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r495", "r496", "r497", "r498", "r635", "r636", "r637", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703" ], "lang": { "en-us": { "role": { "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.", "label": "New Accounting Pronouncements or Change in Accounting Principle [Table]" } } }, "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Developments" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r515" ], "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": "Non-compete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NoncurrentAssets": { "auth_ref": [ "r201" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.", "label": "Long-Lived Assets", "netLabel": "Total long-lived assets" } } }, "localname": "NoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r92" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": 4.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": "Interest income and other, net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfForeignCurrencyDerivativesHeld": { "auth_ref": [ "r530", "r532" ], "lang": { "en-us": { "role": { "documentation": "Number of foreign currency exchange rate derivatives held by the entity at the reporting date.", "label": "Number of Foreign Currency Derivatives Held", "terseLabel": "Number of open foreign exchange forward contracts" } } }, "localname": "NumberOfForeignCurrencyDerivativesHeld", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesNarrativeDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportingUnits": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.", "label": "Number of Reporting Units", "terseLabel": "Number of reporting units" } } }, "localname": "NumberOfReportingUnits", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "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", "terseLabel": "Operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r182", "r190", "r193", "r196", "r198" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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": "Income (loss) from operations", "totalLabel": "Income from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r590", "r597" ], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails": { "order": 0.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r586" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "terseLabel": "Non-cash operating lease expense" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r585" ], "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": "Lease liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r585" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Current operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r585" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r587", "r593" ], "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": "Cash paid for amounts included in the measurement of operating lease liabilities" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r584" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use asset", "verboseLabel": "Right-of-use assets (operating leases)" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r595", "r597" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted average discount rate applied to operating leases" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r594", "r597" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted average remaining term for operating leases" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLeasedAssetsLineItems": { "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": "Operating Leased Assets [Line Items]", "terseLabel": "Operating Leased Assets [Line Items]" } } }, "localname": "OperatingLeasedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDue": { "auth_ref": [ "r575", "r580" ], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": 0.0, "parentTag": "cybe_PresentValueOfOperatingLeasesFutureMinimumPayments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year.", "label": "Operating Leases, Future Minimum Payments Due", "totalLabel": "Total lease payments" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent": { "auth_ref": [ "r575", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments Due, Next Twelve Months", "terseLabel": "2020" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleOfFutureMinimumLeasePaymentsRequiredUnderNoncancelableOperatingLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears": { "auth_ref": [ "r575", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in 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": "Operating Leases, Future Minimum Payments, Due in Five Years", "terseLabel": "2024" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInFiveYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleOfFutureMinimumLeasePaymentsRequiredUnderNoncancelableOperatingLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears": { "auth_ref": [ "r575", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in 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": "Operating Leases, Future Minimum Payments, Due in Four Years", "terseLabel": "2023" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInFourYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleOfFutureMinimumLeasePaymentsRequiredUnderNoncancelableOperatingLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInRollingAfterYearFive": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due after the fifth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Rolling after Year Five", "terseLabel": "2026 & Thereafter" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInRollingAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInRollingYearFive": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fifth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Rolling Year Five", "terseLabel": "2025" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInRollingYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInRollingYearFour": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fourth rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Rolling Year Four", "terseLabel": "2024" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInRollingYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInRollingYearThree": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the third rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Rolling Year Three", "terseLabel": "2023" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInRollingYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInRollingYearTwo": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the second rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Rolling Year Two", "terseLabel": "2022" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInRollingYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears": { "auth_ref": [ "r575", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in 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": "Operating Leases, Future Minimum Payments, Due in Three Years", "terseLabel": "2022" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInThreeYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleOfFutureMinimumLeasePaymentsRequiredUnderNoncancelableOperatingLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears": { "auth_ref": [ "r575", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in 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": "Operating Leases, Future Minimum Payments, Due in Two Years", "terseLabel": "2021" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInTwoYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleOfFutureMinimumLeasePaymentsRequiredUnderNoncancelableOperatingLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter": { "auth_ref": [ "r575", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due 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": "Operating Leases, Future Minimum Payments, Due Thereafter", "terseLabel": "2025 & Thereafter" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueThereafter", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleOfFutureMinimumLeasePaymentsRequiredUnderNoncancelableOperatingLeaseAgreementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsNextRollingTwelveMonths": { "auth_ref": [], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails": { "order": 0.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the next rolling twelve months following the latest balance sheet. For interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Next Rolling Twelve Months", "terseLabel": "2021" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsNextRollingTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofthefuturematuritiesofleaseliabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesOfLesseeDisclosureTextBlock": { "auth_ref": [ "r290", "r573", "r574", "r579", "r581" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for lessee's operating leases. Includes, but is not limited to, description of lessee's operating lease, existence and terms of renewal or purchase options and escalation clauses, restrictions imposed by lease, such as those concerning dividends, additional debt, and further leasing, rent holidays, rent concessions, or leasehold improvement incentives and unusual provisions or conditions.", "label": "Operating Leases of Lessee Disclosure [Table Text Block]", "terseLabel": "Schedule Of Future Minimum Lease Payments Required Under Non-cancelable Operating Lease Agreements" } } }, "localname": "OperatingLeasesOfLesseeDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_OrderOrProductionBacklogMember": { "auth_ref": [ "r516" ], "lang": { "en-us": { "role": { "documentation": "Orders, production or production backlog arising from contracts such as purchase or sales orders acquired in a business combination.", "label": "Order or Production Backlog [Member]" } } }, "localname": "OrderOrProductionBacklogMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "BUSINESS DESCRIPTION AND SIGNIFICANT ACCOUNTING POLICIES [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r1", "r128", "r177", "r528" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows. Describes procedure if disclosures are provided in more than one note to the financial statements.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block]", "verboseLabel": "BUSINESS DESCRIPTION AND SIGNICANT ACCOUNTING POLICIES" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r10", "r12", "r13", "r47" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsCurrent": { "auth_ref": [ "r57" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 4.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", "verboseLabel": "Other current assets" } } }, "localname": "OtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r43" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "verboseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentBeforeTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, before Tax, [Abstract]", "terseLabel": "Unrealized gains on available-for-sale securities:" } } }, "localname": "OtherComprehensiveIncomeAvailableForSaleSecuritiesAdjustmentBeforeTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent": { "auth_ref": [ "r519", "r520", "r524" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "weight": 1.0 }, "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent", "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": "Foreign currency translation adjustments", "verboseLabel": "Foreign currency translation adjustments, Before Tax" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r519", "r520", "r524" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "totalLabel": "Foreign currency translation adjustments, Net of Tax" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToParent": { "auth_ref": [ "r519", "r520", "r524" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax, Portion Attributable to Parent", "negatedLabel": "Foreign currency translation adjustments, Tax", "terseLabel": "Foreign currency translation adjustments, Tax" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeTax": { "auth_ref": [ "r62", "r63", "r66" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "weight": 1.0 }, "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax and after adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, before Tax", "totalLabel": "Total unrealized gains on available-for-sale securities" } } }, "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "auth_ref": [ "r62", "r63", "r66" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 }, "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax", "totalLabel": "Total net changes related to available-for-sale securities, Net of Tax" } } }, "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesTax": { "auth_ref": [ "r62", "r63", "r67" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after adjustment, of tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities, Tax", "negatedTotalLabel": "Total net changes related to available-for-sale securities, Tax" } } }, "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": { "auth_ref": [ "r69", "r79", "r565", "r567", "r571" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax, before reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), before Reclassifications, Net of Tax", "terseLabel": "Other comprehensive income (loss) before reclassifications" } } }, "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossBeforeTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), before Tax [Abstract]", "terseLabel": "Other comprehensive income, before tax:" } } }, "localname": "OtherComprehensiveIncomeLossBeforeTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent": { "auth_ref": [ "r519", "r520", "r524" ], "calculation": { "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), before Tax, Portion Attributable to Parent", "totalLabel": "Total other comprehensive income before income taxes" } } }, "localname": "OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesBeforeTax": { "auth_ref": [ "r61" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax, after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, before Tax", "totalLabel": "Total unrealized gains on foreign exchange forward contracts" } } }, "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax": { "auth_ref": [ "r61" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 }, "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Net of Tax", "totalLabel": "Total net changes related to foreign exchange forward contracts, Net of Tax" } } }, "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax": { "auth_ref": [ "r61", "r67" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossTax", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit), after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).", "label": "Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax", "negatedTotalLabel": "Total net changes related to foreign exchange forward contracts, Tax" } } }, "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r74", "r77", "r79", "r83", "r301", "r565", "r570", "r571", "r662", "r681" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Other comprehensive income, net of tax", "totalLabel": "Total other comprehensive income after income taxes" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails", "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax": { "auth_ref": [ "r66", "r70", "r71", "r222" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, before Tax", "negatedLabel": "Reclassification adjustment for gains included in net income", "negatedTerseLabel": "Reclassification adjustments for gains included in interest income and other, Before Tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": { "auth_ref": [ "r66", "r70", "r71", "r222" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax", "negatedTotalLabel": "Reclassification adjustments for gains included in interest income and other, Net of Tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax": { "auth_ref": [ "r67", "r222" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesTax", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit) of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Tax", "terseLabel": "Reclassification adjustments for gains included in interest income and other, Tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesBeforeTax": { "auth_ref": [ "r66", "r70", "r71", "r538" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before 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, before Tax", "negatedLabel": "Reclassification adjustment for losses included in net income (loss)", "negatedTerseLabel": "Reclassification adjustment for losses included in net income (loss), Before Tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax": { "auth_ref": [ "r66", "r70", "r71", "r534" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax", "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", "negatedTotalLabel": "Reclassification adjustment for losses included in net income (loss), Net of Tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesTax": { "auth_ref": [ "r67" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit) 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, Tax", "terseLabel": "Reclassification adjustment for losses included in net income (loss), Tax" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossTax": { "auth_ref": [ "r67", "r83", "r473", "r507", "r509", "r565", "r568", "r571", "r662", "r681" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Tax", "negatedTotalLabel": "Other comprehensive income (loss), Tax", "terseLabel": "Income tax provision" } } }, "localname": "OtherComprehensiveIncomeLossTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax": { "auth_ref": [ "r61", "r66", "r546" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax", "weight": 1.0 } }, "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", "positiveLabel": "Pretax Gain (Loss) Recognized in Other Comprehensive Income (Loss) on Effective Portion of Derivative", "terseLabel": "Unrealized gains (losses)", "verboseLabel": "Net changes related to foreign exchange forward contracts: Unrealized gains (losses), Before Tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r61", "r66", "r546" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetailsCalc2": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax", "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", "totalLabel": "Net changes related to foreign exchange forward contracts: Unrealized gains (losses), Net of Tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax": { "auth_ref": [ "r61", "r67" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit), before reclassification adjustments, related to 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, Tax", "negatedTerseLabel": "Net changes related to foreign exchange forward contracts: Unrealized gains (losses), Tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax": { "auth_ref": [ "r62", "r66", "r222" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "weight": 1.0 }, "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax and adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, before Tax", "terseLabel": "Net change related to available-for-sale securities: Unrealized gains, Before Tax", "verboseLabel": "Unrealized gains on available-for-sale securities" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r62", "r66" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetailsCalc2": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Net of Tax", "totalLabel": "Net change related to available-for-sale securities: Unrealized gains, Net of Tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": { "auth_ref": [ "r63", "r67" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before adjustment, of tax expense (benefit) for unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Tax", "negatedTerseLabel": "Net change related to available-for-sale securities: Unrealized gains, Tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherInventoryDemo": { "auth_ref": [ "r55" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount of merchandise, goods, commodities, or supplies to which the entity holds the title and uses for the specific purpose of showing the benefits and features of the entity's products to existing or potential customers.", "label": "Other Inventory, Demo, Gross", "terseLabel": "Demonstration inventories, net" } } }, "localname": "OtherInventoryDemo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfInventoryComponentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r49" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities", "totalLabel": "Other liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLongTermInvestmentsMember": { "auth_ref": [ "r704" ], "lang": { "en-us": { "role": { "documentation": "Long-term investments classified as other.", "label": "Other Long-term Investments [Member]", "terseLabel": "Marketable Securities - Long-Term [Member]", "verboseLabel": "Long-Term [Member]" } } }, "localname": "OtherLongTermInvestmentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNoncurrentLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of other noncurrent liabilities.", "label": "Other Noncurrent Liabilities [Table Text Block]", "terseLabel": "Other Noncurrent Liabilities" } } }, "localname": "OtherNoncurrentLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PatentsMember": { "auth_ref": [ "r518" ], "lang": { "en-us": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.", "label": "Patents [Member]", "terseLabel": "Patents [Member]" } } }, "localname": "PatentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r102" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "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", "negatedLabel": "Common stock repurchases", "terseLabel": "Repurchase of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows", "http://cyberoptics.com/role/ShareRepurchasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r102" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "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": "Payments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Tax payments related to shares withheld for share-based compensation plans" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecurities": { "auth_ref": [ "r99", "r211" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 2.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", "negatedLabel": "Purchases of available-for-sale marketable securities" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireIntangibleAssets": { "auth_ref": [ "r100" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.", "label": "Payments to Acquire Intangible Assets", "negatedLabel": "Additions to patents" } } }, "localname": "PaymentsToAcquireIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r100" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Additions to equipment and leasehold improvements" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r409", "r442" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockNoParValue": { "auth_ref": [ "r24" ], "lang": { "en-us": { "role": { "documentation": "Face amount per share of no-par value preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, No Par Value", "verboseLabel": "Preferred stock, par value (in usd per share)" } } }, "localname": "PreferredStockNoParValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r24" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "verboseLabel": "Preferred stock, shares authorized, shares" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r24" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "verboseLabel": "Preferred stock, shares outstanding, shares" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r24" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 0.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, no par value, 5,000,000 shares authorized, none outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseCurrent": { "auth_ref": [ "r6", "r8", "r247", "r248" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid Expense, Current", "terseLabel": "Prepaid expenses" } } }, "localname": "PrepaidExpenseCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans": { "auth_ref": [ "r101", "r443" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Excludes option exercised.", "label": "Proceeds, Issuance of Shares, Share-based Payment Arrangement, Excluding Option Exercised", "terseLabel": "Proceeds from issuance of common stock under employee stock purchase plan" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "auth_ref": [ "r95", "r96", "r211" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Maturities, Prepayments and Calls of Available-for-sale Securities", "terseLabel": "Proceeds from maturities of available-for-sale marketable securities" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities": { "auth_ref": [ "r95", "r96", "r211" ], "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 Available-for-sale Securities", "terseLabel": "Proceeds from sale of marketable securities" } } }, "localname": "ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period.", "label": "Proceeds from Sale and Maturity of Marketable Securities", "terseLabel": "Sale of marketable securities" } } }, "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecurities": { "auth_ref": [ "r97", "r211" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the sale of debt and equity securities classified as available-for-sale securities.", "label": "Proceeds from Sale of Available-for-sale Securities", "terseLabel": "Proceeds from sales of available-for-sale marketable securities", "verboseLabel": "Proceeds from sales of marketable securities" } } }, "localname": "ProceedsFromSaleOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows", "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r98" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r101", "r443" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercise of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductLiabilityContingencyLineItems": { "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": "Product Liability Contingency [Line Items]", "terseLabel": "Product Liability Contingency [Line Items]" } } }, "localname": "ProductLiabilityContingencyLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ProductLiabilityContingencyTable": { "auth_ref": [ "r281", "r282", "r283", "r284", "r285", "r286", "r287" ], "lang": { "en-us": { "role": { "documentation": "Information and financial data about the reasonably possible loss or the recognized and additional reasonably possible loss from product liability related to an individual product.", "label": "Product Liability Contingency [Table]", "terseLabel": "Product Liability Contingency [Table]" } } }, "localname": "ProductLiabilityContingencyTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r296", "r299", "r658" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.", "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r47", "r289", "r291" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 }, "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails": { "order": 0.0, "parentTag": "us-gaap_ProductWarrantyAccrual", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Product Warranty Accrual, Current", "negatedTerseLabel": "Current portion of estimated warranty liability", "terseLabel": "Warranty liability" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAccruedExpensesDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualNoncurrent": { "auth_ref": [ "r49", "r281", "r282" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails": { "order": 1.0, "parentTag": "us-gaap_ProductWarrantyAccrual", "weight": 1.0 }, "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.", "label": "Product Warranty Accrual, Noncurrent", "terseLabel": "Warranty liability", "verboseLabel": "Long-term estimated warranty liability" } } }, "localname": "ProductWarrantyAccrualNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": { "auth_ref": [ "r294" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.", "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties", "terseLabel": "Warranty revision" } } }, "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r293" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Accrual for warranties" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r41", "r275" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Property, Plant and Equipment, Type [Axis]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r40", "r273" ], "calculation": { "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails": { "order": 0.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Equipment and leasehold improvements, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r17", "r18", "r275", "r678" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Equipment and leasehold improvements, net", "totalLabel": "Equipment and leasehold improvements, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r39", "r111", "r275", "r723", "r724" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Equipment and Leasehold Improvements" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r17", "r275" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of Equipment and Leasehold Improvements" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r17", "r273" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Property, Plant and Equipment, Type [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.", "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Estimated useful lives of the equipment and leasehold improvements (in years)" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r86", "r233" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Provision for Doubtful Accounts", "verboseLabel": "(Recovery) provision for doubtful accounts" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "QUARTERLY FINANCIAL INFORMATION (UNAUDITED) [Abstract]" } } }, "localname": "QuarterlyFinancialInformationDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_QuarterlyFinancialInformationTextBlock": { "auth_ref": [ "r163" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.", "label": "Quarterly Financial Information [Text Block]", "terseLabel": "QUARTERLY FINANCIAL INFORMATION (UNAUTDITED)" } } }, "localname": "QuarterlyFinancialInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/QuarterlyFinancialInformationUnaudited" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy": { "auth_ref": [ "r33", "r111", "r209" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized.", "label": "Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]", "terseLabel": "Accounts Receivable and Allowance for Doubtful Accounts" } } }, "localname": "ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax": { "auth_ref": [ "r69", "r72", "r565", "r569", "r571" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of reclassification adjustments of other comprehensive income (loss).", "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, before Tax", "terseLabel": "Reclassifications adjustments from other comprehensive income" } } }, "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": { "auth_ref": [ "r69", "r72", "r79", "r565", "r569", "r571" ], "calculation": { "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss).", "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax", "negatedTerseLabel": "Reclassifications from accumulated other comprehensive loss" } } }, "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": { "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": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "terseLabel": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]" } } }, "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ReducedEmployeeExpensesMember": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "A decrease in future employee expense as a result of disposal of a business that results from an exit plan.", "label": "Reduced Employee Expenses [Member]", "terseLabel": "Reduced Employee Expenses [Member]" } } }, "localname": "ReducedEmployeeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RegulatoryIncomeTaxesPolicy": { "auth_ref": [ "r111", "r735", "r736" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, including investment tax credits, and the related regulatory treatment (for example, whether deferred income tax accounting - normalization - is allowed in rate making).", "label": "Regulatory Income Taxes, Policy [Policy Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "RegulatoryIncomeTaxesPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RelatedPartyDomain": { "auth_ref": [ "r377", "r599", "r600" ], "lang": { "en-us": { "role": { "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.", "label": "Related Party [Domain]", "terseLabel": "Related Party [Domain]" } } }, "localname": "RelatedPartyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.", "label": "Related Party Transaction, Purchases from Related Party", "terseLabel": "Cumulative purchases" } } }, "localname": "RelatedPartyTransactionPurchasesFromRelatedParty", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "auth_ref": [ "r377", "r599", "r601", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650" ], "lang": { "en-us": { "role": { "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.", "label": "Related Party [Axis]", "terseLabel": "Related Party [Axis]" } } }, "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r469", "r737" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "verboseLabel": "Research and development expenses" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]", "terseLabel": "Research and Development [Member]", "verboseLabel": "Research and Development Expense [Member]" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock": { "auth_ref": [ "r42", "r111", "r269", "r270", "r737" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for its research and development and computer software activities including the accounting treatment for costs incurred for (1) research and development activities, (2) development of computer software for internal use, (3) computer software to be sold, leased or otherwise marketed as a separate product or as part of a product or process and (4) in-process research and development acquired in a purchase business combination.", "label": "Research, Development, and Computer Software, Policy [Policy Text Block]", "terseLabel": "Research and Development" } } }, "localname": "ResearchDevelopmentAndComputerSoftwarePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units (RSUs) [Member]" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r27", "r302", "r451", "r676", "r698", "r703" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "verboseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r129", "r130", "r132", "r135", "r144", "r147", "r228", "r448", "r449", "r450", "r497", "r498", "r694", "r696" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RetirementPlanNameAxis": { "auth_ref": [ "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403" ], "lang": { "en-us": { "role": { "documentation": "Information by name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.", "label": "Retirement Plan Name [Axis]" } } }, "localname": "RetirementPlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RetirementPlanNameDomain": { "auth_ref": [ "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403" ], "lang": { "en-us": { "role": { "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.", "label": "Retirement Plan Name [Domain]" } } }, "localname": "RetirementPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/A401KAndOtherDefinedContributionPlansDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "REVENUE RECOGNITION - TOPIC 606" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r306", "r307", "r308", "r309", "r310", "r311", "r313", "r314", "r318", "r328" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUE RECOGNITION - TOPIC 606" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r202" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "terseLabel": "Schedule Of Revenue By Geographic Area" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromRelatedParties": { "auth_ref": [ "r88", "r706" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.", "label": "Revenue from Related Parties", "terseLabel": "Sales to related party" } } }, "localname": "RevenueFromRelatedParties", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/BusinessDescriptionAndSignificantAccountingPoliciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]", "terseLabel": "REVENUE RECOGNITION - TOPIC 606" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": { "auth_ref": [ "r326" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r112", "r113" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.", "label": "Revenue Recognition, Policy [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r312" ], "lang": { "en-us": { "role": { "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Period for deferred warranty revenue expected to be recognized" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r80", "r114", "r178", "r179", "r189", "r194", "r195", "r199", "r200", "r205", "r224", "r558", "r665" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": 0.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": "Revenues" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails", "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfRevenueByProductLineDetails" ], "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": "Revenue, Major Customer [Line Items]" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r171", "r205" ], "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": "Sales Revenue, Net [Member]", "terseLabel": "Revenues [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasNarrativeDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasSummaryOfCertainSignificantCustomerInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of Accrued Expenses" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r69", "r570", "r571" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Schedule of Accumulated Other Comprehensive Loss" } } }, "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r371" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the net gain (loss) and net prior service cost or credit recognized in other comprehensive income (loss) for the period for pension plans and/or other employee benefit plans, and reclassification adjustments of other comprehensive income (loss) for the period, as those amounts, including amortization of the net transition asset or obligation, are recognized as components of net periodic benefit cost.", "label": "Schedule of Amounts Recognized in Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "The Effect of the Reclassification from Comprehensive Income (Loss) to Earnings" } } }, "localname": "ScheduleOfAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Schedule of Available-for-sale Securities [Line Items]", "terseLabel": "Unrealized Loss Position [Line Items]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesTable": { "auth_ref": [ "r214", "r215", "r218", "r219", "r220", "r221", "r667", "r668" ], "lang": { "en-us": { "role": { "documentation": "Schedule of available-for-sale securities which includes, but is not limited to, changes in the cost basis and fair value, fair value and gross unrealized gain (loss), fair values by type of security, contractual maturity and classification, amortized cost basis, contracts to acquire securities to be accounted for as available-for-sale, debt maturities, transfers to trading, change in net unrealized holding gain (loss) net of tax, continuous unrealized loss position fair value, aggregate losses qualitative disclosures, other than temporary impairment (OTTI) losses or other disclosures related to available for sale securities.", "label": "Schedule of Available-for-sale Securities [Table]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashFlowHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock": { "auth_ref": [ "r537" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for cash flow hedging instruments of (a) the location and amount of gains and losses reported in the statement of financial performance and (b) the location and fair value amounts of the instruments reported in the statement of financial position.", "label": "Schedule of Cash Flow Hedging Instruments, Statements of Financial Performance and Financial Position, Location [Table Text Block]", "terseLabel": "Schedule Of Cash Flow Hedges" } } }, "localname": "ScheduleOfCashFlowHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DerivativesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r493" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Schedule Of Provision (Benefit) For Income Taxes" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r486" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule Of Deferred Tax Assets And Liabilities" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r154" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of Net Income Per Basic and Diluted Shares" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureNetIncomePerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r474" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule Of A Reconciliation Of The Statutory Rate To The Effective Income Tax Rate" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectsOnFutureEarningsAndCashFlowsResultingFromExitPlanTable": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "A table that lists the quantified effects on future earnings and cash flows resulting from the exit plan (for example, reduced depreciation, reduced employee expense, etc.), along with the initial period in which those effects are expected to be realized. May include whether the cost savings are expected to be offset by anticipated increases in other expenses or reduced revenues. Also identifies the income statement line items to be impacted (for example, cost of sales; marketing; selling, general and administrative expenses; etc.).", "label": "Schedule of Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Table]" } } }, "localname": "ScheduleOfEffectsOnFutureEarningsAndCashFlowsResultingFromExitPlanTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19PandemicNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r259", "r264", "r634" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfAmortizationExpenseForIntangibleAssetsDetails", "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r259", "r264" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGainLossOnInvestmentsIncludingMarketableSecuritiesAndInvestmentsHeldAtCostIncomeStatementReportedAmountsSummaryLineItems": { "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": "Gain (Loss) on Investments [Line Items]", "terseLabel": "Gain (Loss) on Investments [Line Items]" } } }, "localname": "ScheduleOfGainLossOnInvestmentsIncludingMarketableSecuritiesAndInvestmentsHeldAtCostIncomeStatementReportedAmountsSummaryLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGainLossOnInvestmentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about realized and unrealized gain (loss) on investment in security.", "label": "Schedule of Gain (Loss) on Investments [Table]", "terseLabel": "Schedule of Gain (Loss) on Investments [Table]" } } }, "localname": "ScheduleOfGainLossOnInvestmentsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "auth_ref": [ "r117" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.", "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]", "terseLabel": "Schedule Of Income Before Income Taxes" } } }, "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r14", "r34", "r35", "r36" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventory Components" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfOperatingLeasedAssetsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of long-lived, depreciable assets that are subject to a operating lease agreements and are used in the normal conduct of business to produce goods and services. Examples may include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Schedule of Operating Leased Assets [Table]", "terseLabel": "Schedule of Operating Leased Assets [Table]" } } }, "localname": "ScheduleOfOperatingLeasedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfProductInformationTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of product information that are included in the discussion of the nature of an entity's operations.", "label": "Schedule of Product Information [Table Text Block]", "terseLabel": "Summary Of Revenue By Product Line" } } }, "localname": "ScheduleOfProductInformationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r300" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Schedule of Changes in Estimated Warranty Liability" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r41", "r275" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]", "terseLabel": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfEquipmentAndLeaseholdImprovementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": { "auth_ref": [ "r162" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.", "label": "Quarterly Financial Information [Table Text Block]", "terseLabel": "Quarterly Financial Information" } } }, "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/QuarterlyFinancialInformationUnauditedTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r80", "r204" ], "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]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfLongLivedAssetsAttributableToEachGeographicAreasOperationsDetails", "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasScheduleOfRevenueByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r409", "r442" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r416" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]", "terseLabel": "Schedule Of Non-Vested Restricted Stock Activity" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r416", "r429", "r432" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]", "terseLabel": "Schedule Of Stock Option Activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r434" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule Of Stock Option Valuation Assumptions" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "auth_ref": [ "r481", "r494" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in unrecognized tax benefits.", "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]", "terseLabel": "Summary Of A Reconciliation Of The Beginning And Ending Amount Of Gross Unrecognized Tax Benefits (\"UTB\")" } } }, "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "auth_ref": [ "r169", "r171", "r172", "r173", "r555", "r557" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Summary Of Certain Significant Customer Information" } } }, "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/RevenueConcentrationsSignificantCustomersAndGeographicAreasTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "REVENUE CONCENTRATIONS, SIGNIFICANT CUSTOMERS, AND GEOGRAPHIC AREAS [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r111", "r183", "r184", "r185", "r186", "r187", "r188", "r200" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segment Reporting" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r91" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "verboseLabel": "Selling, general and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]", "terseLabel": "Selling, General and Administrative [Member]", "verboseLabel": "Selling, General and Administrative Expenses [Member]" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeTheEffectoftheReclassificationsfromComprehensiveIncomeLosstoEarningsDetails", "http://cyberoptics.com/role/DerivativesScheduleOfCashFlowHedgesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r105" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows": { "order": 5.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 Compensation", "netLabel": "Pre-tax share-based compensation expense", "terseLabel": "Equity based compensation expense", "verboseLabel": "Share-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfCashFlows", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationSummaryOfPretaxEquityBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SHARE-BASED COMPENSATION [Abstract]" } } }, "localname": "ShareBasedCompensationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r410" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period (in years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r422" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Shares, Forfeited" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r428" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value, Forfeited (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r426" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Shares granted, shares", "verboseLabel": "Shares, Granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r426" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value, Granted (in usd per share)", "verboseLabel": "Weighted average grant date fair value, granted (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r425" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Shares, Non-vested at December 31, 2020", "periodStartLabel": "Shares, Non-vested at December 31, 2019", "terseLabel": "Unvested shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r425" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Weighted Average Grant Date Fair Value, Non-vested at December 31, 2020 (in usd per share)", "periodStartLabel": "Weighted Average Grant Date Fair Value, Non-vested at December 31, 2019 (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r427" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Shares, Vested" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r427" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value, Vested (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price", "verboseLabel": "Weighted average grant date fair value (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r437" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r436" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r438" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk-free interest rates" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeituresAndExpirations": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "Number of shares under non-option equity instrument agreements that were either cancelled or expired.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Forfeitures and Expirations", "terseLabel": "Number of restricted shares or restricted stock units expired or were forfeited" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeituresAndExpirations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized", "terseLabel": "Number of additional shares authorized for issuance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r412" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Shares of common stock reserved for stock based benefits, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r442" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares available for future issuance, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r419" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Options Outstanding, Exercisable, End of period, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r419" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Weighted-Average Exercise Price Per Share, Exercisable, End of period (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r431" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Aggregate intrinsic value of stock options exercised" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r424" ], "lang": { "en-us": { "role": { "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period", "negatedLabel": "Options Outstanding, Expired, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period", "terseLabel": "Number of stock options expired or were forfeited" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r422" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Options Outstanding, Forfeited, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": { "auth_ref": [ "r420" ], "lang": { "en-us": { "role": { "documentation": "Net number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures", "verboseLabel": "Options Outstanding, Granted, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r430" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted average fair value on grant date", "verboseLabel": "Grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r442" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Aggregate intrinsic value for all options outstanding" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r418", "r442" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Options Outstanding, Outstanding, End of period, shares", "periodStartLabel": "Options Outstanding, Outstanding, Beginning of period, shares", "terseLabel": "Common stock reserved for issuance pursuant to outstanding awards" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Weighted-Average Exercise Price Per Share, Outstanding, End of period (in usd per share)", "periodStartLabel": "Weighted-Average Exercise Price Per Share, Outstanding, Beginning of period (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r406", "r413" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Equity Award [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted-Average Exercise Price Per Share, Exercised (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Weighted-Average Exercise Price Per Share, Forfeited (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Weighted-Average Exercise Price Per Share, Granted (in usd per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r111", "r409", "r414" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]", "terseLabel": "Share-Based Compensation" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r411" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Expiration of stock options from date of grant (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r435", "r462" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected life in years" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionValuationAssumptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r442" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate intrinsic value of exercisable options" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r442" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted average remaining contractual term for exercisable options (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfNonVestedRestrictedStockActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted average remaining contractual term (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "auth_ref": [ "r415" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value", "terseLabel": "Fair value of shares vested" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of options vested.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares", "terseLabel": "Number of shares vested" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Employees can purchase stock at the percentage rate of the lower of the market price on the first or last day of the offering period (as a percent)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharesIssued": { "auth_ref": [ "r301" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.", "label": "Shares, Issued", "periodEndLabel": "BALANCE, shares", "periodStartLabel": "BALANCE, shares" } } }, "localname": "SharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermInvestmentsMember": { "auth_ref": [ "r718", "r719", "r720", "r721" ], "lang": { "en-us": { "role": { "documentation": "Investments which are not otherwise included in another category or item that the entity has the intent to sell or dispose of within one year from the date of the balance sheet.", "label": "Short-term Investments [Member]", "terseLabel": "Marketable Securities - Short-Term [Member]", "verboseLabel": "Short-Term [Member]" } } }, "localname": "ShortTermInvestmentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r591", "r597" ], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-term Lease, Cost", "terseLabel": "Short-term lease cost" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyAccrualPayments": { "auth_ref": [ "r292" ], "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", "negatedTerseLabel": "Settlements made during the period" } } }, "localname": "StandardProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OtherFinancialStatementDataScheduleOfChangesInEstimatedWarrantyLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StandardProductWarrantyPolicy": { "auth_ref": [ "r111", "r295" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.", "label": "Standard Product Warranty, Policy [Policy Text Block]", "terseLabel": "Warranty Costs" } } }, "localname": "StandardProductWarrantyPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r52", "r129", "r130", "r132", "r135", "r144", "r147", "r164", "r228", "r301", "r302", "r448", "r449", "r450", "r497", "r498", "r565", "r566", "r567", "r568", "r569", "r571", "r694", "r695", "r696" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ComprehensiveIncomeScheduleofAccumulatedComprehensiveIncomeLossDetails", "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED BALANCE SHEETS [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r129", "r130", "r132", "r164", "r633" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationGross": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value, before forfeiture, of shares granted under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Stock Granted, Value, Share-based Compensation, Gross", "terseLabel": "Stock granted, value" } } }, "localname": "StockGrantedDuringPeriodValueSharebasedCompensationGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r24", "r25", "r301", "r302" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Issuance of common stock under Employee Stock Purchase Plan, shares" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r24", "r25", "r301", "r302" ], "lang": { "en-us": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures", "terseLabel": "Share issuances for director compensation, shares", "verboseLabel": "Stock issued during period, shares" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r24", "r25", "r301", "r302", "r421" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Options Outstanding, Exercised, shares" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureShareBasedCompensationScheduleOfStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r24", "r25", "r301", "r302" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Issuance of common stock under Employee Stock Purchase Plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "auth_ref": [ "r24", "r25", "r302", "r408", "r430" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures", "terseLabel": "Share issuances for director compensation" } } }, "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Authorized share repurchase amount" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ShareRepurchasesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r24", "r25", "r301", "r302" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Repurchase of common stock, shares" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ShareRepurchasesNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r24", "r25", "r301", "r302" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.", "label": "Stock Repurchased During Period, Shares", "negatedLabel": "Repurchase of common stock, Shares" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r24", "r25", "r301", "r302" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.", "label": "Stock Repurchased During Period, Value", "negatedLabel": "Repurchase of common stock" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r25", "r29", "r30", "r114", "r210", "r224", "r558" ], "calculation": { "http://cyberoptics.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "BALANCE", "periodStartLabel": "BALANCE", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets", "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "auth_ref": [ "r315", "r324" ], "lang": { "en-us": { "role": { "documentation": "Information by timing of transfer of good or service to customer.", "label": "Timing of Transfer of Good or Service [Axis]" } } }, "localname": "TimingOfTransferOfGoodOrServiceAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "auth_ref": [ "r315", "r324" ], "lang": { "en-us": { "role": { "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.", "label": "Timing of Transfer of Good or Service [Domain]" } } }, "localname": "TimingOfTransferOfGoodOrServiceDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredAtPointInTimeMember": { "auth_ref": [ "r324" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred at point in time.", "label": "Transferred at Point in Time [Member]", "terseLabel": "Revenue recognized at a point in time [Member]" } } }, "localname": "TransferredAtPointInTimeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredOverTimeMember": { "auth_ref": [ "r324" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred over time.", "label": "Transferred over Time [Member]", "terseLabel": "Revenue recognized over time [Member]" } } }, "localname": "TransferredOverTimeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureRevenueRecognitionTopic606SummaryOfRevenuePerformanceObligationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r216", "r217", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails", "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails", "http://cyberoptics.com/role/MarketableSecuritiesNarrativeDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesClassifiedAsCashEquivalentsDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [ "r134", "r135", "r136", "r137", "r225", "r226", "r227", "r228", "r229", "r230", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r495", "r496", "r497", "r498", "r635", "r636", "r637", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703" ], "lang": { "en-us": { "role": { "documentation": "Amendment to accounting standards.", "label": "Type of Adoption [Domain]", "terseLabel": "Type of Adoption [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfStockholdersEquity", "http://cyberoptics.com/role/DisclosureAdoptionOfASUNo.2016-09ImprovementsToEmployeeShareBasedPaymentAccountingDetails", "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesDetails2", "http://cyberoptics.com/role/DisclosureShareBasedCompensationNarrativeDetails", "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails", "http://cyberoptics.com/role/RevenueRecognitionTopic606NarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasuryAndGovernmentMember": { "auth_ref": [ "r353", "r666", "r704" ], "lang": { "en-us": { "role": { "documentation": "This category includes investments in debt securities issued by the United States Department of the Treasury, US Government Agencies and US Government-sponsored Enterprises. Such securities may include treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years), debt securities issued by the Government National Mortgage Association (Ginnie Mae) and debt securities issued by the Federal National Mortgage Association (Fannie Mae) or the Federal Home Loan Mortgage Corporation (Freddie Mac).", "label": "US Treasury and Government [Member]", "terseLabel": "U.S. Government And Agency Obligations [Member]" } } }, "localname": "USTreasuryAndGovernmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureMarketableSecuritiesScheduleOfUnrealizedLossPositionDetails", "http://cyberoptics.com/role/FairValueMeasurementsFairValueMeasurementsForMarketableSecuritiesAndForeignExchangeForwardContractsDetails", "http://cyberoptics.com/role/MarketableSecuritiesScheduleOfMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r470", "r477" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "Unrecognized Tax Benefits", "periodEndLabel": "Gross UTB balance at end of year", "periodStartLabel": "Gross UTB balance at beginning of year" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r478" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions", "negatedLabel": "Reductions for tax positions of prior years" } } }, "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r476" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Accrued interest and penalties" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": { "auth_ref": [ "r476" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense", "terseLabel": "Estimated gross penalties and interest" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": { "auth_ref": [ "r479" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.", "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions", "terseLabel": "Additions based on tax positions related to the current year" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r478" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions", "terseLabel": "Additions for tax positions of prior years" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease": { "auth_ref": [ "r477" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in unrecognized tax benefits attributable to uncertain tax positions taken in tax returns.", "label": "Unrecognized Tax Benefits, Period Increase (Decrease)", "terseLabel": "Change in liability for uncertain tax positions" } } }, "localname": "UnrecognizedTaxBenefitsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": { "auth_ref": [ "r480" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.", "label": "Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations", "negatedLabel": "Reductions due to lapse of applicable statute of limitations" } } }, "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesSummaryOfReconciliationOfBeginningAndEndingAmountOfGrossUnrecognizedTaxBenefitsUtbDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for an event or transaction that is unusual in nature or infrequent in occurrence, or both.", "label": "Unusual or Infrequent Items, or Both, Disclosure [Text Block]", "terseLabel": "Covid-19 Pandemic" } } }, "localname": "UnusualOrInfrequentItemsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/Covid19pandemic" ], "xbrltype": "textBlockItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r165", "r166", "r167", "r168", "r174", "r175", "r176" ], "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/2020-01-31", "presentation": [ "http://cyberoptics.com/role/DisclosureBusinessDescriptionAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "auth_ref": [ "r486" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.", "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount", "terseLabel": "Increase (decrease) in valuation allowance" } } }, "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/IncomeTaxesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": { "auth_ref": [ "r126" ], "lang": { "en-us": { "role": { "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward.", "label": "Valuation Allowance of Deferred Tax Assets [Member]", "terseLabel": "Allowance for deferred taxes" } } }, "localname": "ValuationAllowanceOfDeferredTaxAssetsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesBalance": { "auth_ref": [ "r120", "r125" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation and qualifying accounts and reserves.", "label": "Valuation Allowances and Reserves, Balance", "periodEndLabel": "Balance at end of Period", "periodStartLabel": "Balance at Beginning of Period" } } }, "localname": "ValuationAllowancesAndReservesBalance", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": { "auth_ref": [ "r123" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.", "label": "Valuation Allowances and Reserves, Additions for Charges to Cost and Expense", "terseLabel": "Charged to Costs and Expenses" } } }, "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDeductions": { "auth_ref": [ "r124" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.", "label": "Valuation Allowances and Reserves, Deductions", "negatedLabel": "Other\u00a0Increases\u00a0(Decreases)" } } }, "localname": "ValuationAllowancesAndReservesDeductions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDomain": { "auth_ref": [ "r120", "r121", "r122", "r124", "r125" ], "lang": { "en-us": { "role": { "documentation": "Valuation and qualifying accounts and reserves.", "label": "Valuation Allowances and Reserves [Domain]" } } }, "localname": "ValuationAllowancesAndReservesDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "auth_ref": [ "r120", "r121", "r122", "r124", "r125" ], "lang": { "en-us": { "role": { "documentation": "Information by valuation and qualifying accounts and reserves.", "label": "Valuation Allowances and Reserves Type [Axis]" } } }, "localname": "ValuationAllowancesAndReservesTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ScheduleOfvaluationAndQualifyingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r592", "r597" ], "calculation": { "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease, Cost", "terseLabel": "Variable lease cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/OperatingLeasesScheduleofcomponentsofourcostsforoperatingleasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r154" ], "calculation": { "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails": { "order": 1.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": "Weighted Average Shares Outstanding, Dilutive effect of common equivalent shares, shares" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r149", "r154" ], "calculation": { "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails": { "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", "netLabel": "Weighted average shares outstanding \u2013 Diluted, shares", "totalLabel": "Weighted Average Shares Outstanding, Dilutive, shares" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r148", "r154" ], "calculation": { "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails": { "order": 0.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted Average Shares Outstanding, Basic, shares", "verboseLabel": "Weighted average shares outstanding \u2013 Basic, shares" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://cyberoptics.com/role/ConsolidatedStatementsOfOperations", "http://cyberoptics.com/role/NetIncomePerShareScheduleOfNetIncomePerBasicAndDilutedSharesDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 10 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r1": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4273-108586" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586" }, "r111": { "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" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r115": { "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=120395691&loc=d3e23780-122690" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(1)(i))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r118": { "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=120395691&loc=d3e23780-122690" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(n))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column B))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column D))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column E))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(ColumnA))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r127": { "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=120395691&loc=d3e24092-122690" }, "r128": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e7018-107765" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "27", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e22044-107793" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21728-107793" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r138": { "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" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r14": { "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" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256" }, "r15": { "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=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(12))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e543-108305" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=121640914&loc=d3e1280-108306" }, "r163": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "270", "URI": "http://asc.fasb.org/topic&trid=2126967" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592" }, "r17": { "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=120391452&loc=d3e13212-122682" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r18": { "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=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r20": { "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=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "b", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5144-111524" }, "r21": { "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=120391452&loc=d3e13212-122682" }, "r210": { "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" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26853-111562" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27290-111563" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27337-111563" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27340-111563" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27357-111563" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27357-111563" }, "r223": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "http://asc.fasb.org/topic&trid=2196928" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(4)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455" }, "r24": { "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=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314" }, "r245": { "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" }, "r246": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=68074540&loc=d3e5879-108316" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054" }, "r25": { "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=120391452&loc=d3e13212-122682" }, "r250": { "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" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r256": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/subtopic&trid=2144439" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274" }, "r258": { "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" }, "r259": { "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" }, "r26": { "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=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r261": { "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" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "30", "SubTopic": "40", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=118172244&loc=d3e17916-109280" }, "r27": { "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=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "25", "SubTopic": "50", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=16397303&loc=d3e19347-109286" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2420-110228" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r275": { "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" }, "r276": { "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" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751" }, "r288": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68070138&loc=d3e11281-110244" }, "r29": { "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=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12069-110248" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12524-110249" }, "r292": { "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" }, "r293": { "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" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(4))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r297": { "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" }, "r298": { "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" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r30": { "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=120391452&loc=d3e13212-122682" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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=120397183&loc=d3e187085-122770" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130533-203044" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r31": { "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=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r328": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r329": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "http://asc.fasb.org/topic&trid=2127225" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "712", "URI": "http://asc.fasb.org/topic&trid=2197446" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(10)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r34": { "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=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(8)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(9)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r35": { "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=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(8)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r353": { "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" }, "r354": { "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" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r36": { "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=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r37": { "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=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(j)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(q)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2410-114920" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.12)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2417-114920" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2417-114920" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2709-114920" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e2919-114920" }, "r392": { "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" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r40": { "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=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r404": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "http://asc.fasb.org/topic&trid=2235017" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r41": { "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=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b),(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.15)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r421": { "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=120381028&loc=d3e5070-113901" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)-(4)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(4)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r43": { "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=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r44": { "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=120391452&loc=d3e13212-122682" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r45": { "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=120391452&loc=d3e13212-122682" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79507997-165333" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79507997-165333" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79508013-165333" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79508013-165333" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79508029-165333" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79508029-165333" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79508043-165333" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79508043-165333" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.2)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79508057-165333" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL79508057-165333" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "740", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120384911&loc=d3e23163-113944" }, "r466": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "35", "Subparagraph": "(a)", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "35", "Subparagraph": "(b)", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848" }, "r469": { "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" }, "r47": { "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=120391452&loc=d3e13212-122682" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=SL37586934-109318" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319" }, "r474": { "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" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r48": { "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=120391452&loc=d3e13212-122682" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r486": { "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" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32621-109319" }, "r49": { "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=120391452&loc=d3e13212-122682" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32632-109319" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121610041&loc=d3e36027-109320" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r50": { "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=120391452&loc=d3e13212-122682" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e39076-109324" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.26(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r512": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5227-128473" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473" }, "r519": { "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" }, "r52": { "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=120391452&loc=d3e13212-122682" }, "r520": { "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" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684" }, "r524": { "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" }, "r525": { "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" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r528": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579240-113959" }, "r53": { "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=120391452&loc=d3e13212-122682" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5580258-113959" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41620-113959" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "c", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41638-113959" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41638-113959" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624171-113959" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624171-113959" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624171-113959" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624181-113959" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41675-113959" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121582272&loc=SL5629052-113961" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121558989&loc=d3e80720-113993" }, "r547": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r548": { "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" }, "r549": { "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" }, "r55": { "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=120391452&loc=d3e13212-122682" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13279-108611" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=120240428&loc=SL75039408-165497" }, "r56": { "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=120391452&loc=d3e13212-122682" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=120253306&loc=d3e28228-110885" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=121605123&loc=d3e30226-110892" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895" }, "r564": { "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" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r57": { "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=120391452&loc=d3e13212-122682" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r572": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "830", "URI": "http://asc.fasb.org/topic&trid=2175825" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121549808&loc=d3e36991-112694" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(Note 1,3)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121580752&loc=d3e38371-112697" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(Note 3)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121580752&loc=d3e38371-112697" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121549951&loc=d3e39927-112707" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121549951&loc=d3e40010-112707" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121549951&loc=d3e40019-112707" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41499-112717" }, "r58": { "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=120391452&loc=d3e13212-122682" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41502-112717" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41502-112717" }, "r582": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "840", "URI": "http://asc.fasb.org/topic&trid=2208923" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121329987&loc=SL77916155-209984" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918638-209977" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918666-209980" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121576215&loc=SL77919359-209981" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b),(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r638": { "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" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61929-109447" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61929-109447" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62059-109447" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62059-109447" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62395-109447" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62395-109447" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "33", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62479-109447" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "33", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62479-109447" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "35A", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6807758-109447" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "35A", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6807758-109447" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(c)(1)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61872-109447" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(c)(2)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61872-109447" }, "r651": { "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" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r653": { "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=120398452&loc=d3e534808-122878" }, "r654": { "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=120398452&loc=d3e534808-122878" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r656": { "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=120398452&loc=d3e534808-122878" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(9))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r658": { "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=120398452&loc=d3e534808-122878" }, "r659": { "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=120398452&loc=d3e534808-122878" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580" }, "r660": { "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=120399700&loc=SL114874048-224260" }, "r661": { "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=120399700&loc=SL114874048-224260" }, "r662": { "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=120399700&loc=SL114874048-224260" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62557-112803" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62557-112803" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62586-112803" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62652-112803" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e640-108580" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15)(b)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(5))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1)(b))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r673": { "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=120400017&loc=d3e572229-122910" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r676": { "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=120400017&loc=d3e572229-122910" }, "r677": { "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=120400017&loc=d3e572229-122910" }, "r678": { "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=120400017&loc=d3e572229-122910" }, "r679": { "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=120400017&loc=d3e572229-122910" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580" }, "r680": { "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=120400993&loc=SL114874131-224263" }, "r681": { "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=120400993&loc=SL114874131-224263" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r684": { "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=120400993&loc=SL114874131-224263" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r686": { "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" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e689-108580" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r701": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iv)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r702": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r704": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121641442&loc=d3e19393-158473" }, "r705": { "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" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07.1(c))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r708": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r709": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724391-108580" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 1))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 6))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r715": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 7))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "5D", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13D(Column B)(Footnote 2))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=SL120429264-123010" }, "r717": { "Name": "Accounting Standards Codification", "Paragraph": "5D", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13D(Column C)(Footnote 2))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=SL120429264-123010" }, "r718": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column A))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010" }, "r719": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column B))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column C))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010" }, "r721": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-15(Column D))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010" }, "r722": { "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=120402547&loc=d3e617274-123014" }, "r723": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r726": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r727": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r728": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r729": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r730": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r731": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r732": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r733": { "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=120402810&loc=d3e638233-123024" }, "r734": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 4))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r735": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "980", "URI": "http://asc.fasb.org/extlink&oid=6501382&loc=d3e54053-110423" }, "r736": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "980", "URI": "http://asc.fasb.org/extlink&oid=6501382&loc=d3e54136-110423" }, "r737": { "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" }, "r738": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r739": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "g" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r740": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310" }, "r741": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r742": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r743": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r744": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r745": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121640130&loc=d3e1436-108581" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6787-107765" }, "r80": { "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=120395209&loc=SL114868664-224227" }, "r81": { "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=120395209&loc=SL114868664-224227" }, "r82": { "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=120395209&loc=SL114868664-224227" }, "r83": { "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=120395209&loc=SL114868664-224227" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(7)(c))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1(e))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r89": { "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=120395209&loc=SL114868664-224227" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r91": { "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=120395209&loc=SL114868664-224227" }, "r92": { "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=120395209&loc=SL114868664-224227" }, "r93": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "220", "URI": "http://asc.fasb.org/subtopic&trid=114868817" }, "r94": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "http://asc.fasb.org/topic&trid=2134417" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3151-108585" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" } }, "version": "2.1" } ZIP 103 0000897101-21-000173-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000897101-21-000173-xbrl.zip M4$L#!!0 ( )1;;%+L5@K>>J0" +03(@ 1 8WEB92TR,#(P,3(S,2YH M=&WLO>MSVLC2./S]J7K_!_U\;DF5C0'?L[NIPC9VV/BVX"2;\R4EI &T$1*K MBVW.7_]V]\SHA@2R#0:$]JGG) $QFNGNZ?OEU_^WLW/F,-5CNM(=*XTA-[HP^[N4]^V*U7Z]6=:FUGK[8E'M=L MW_*< MY./P8H9MH5;/-BIUG?J MAW(1>/)G^BKU:G5O%[_NJBZ3C^.WQI3G#D)Y(LW'.[R+P-L>$[FSD]VX=L L*Z]7Z\= M33LF?R*@IW&7!4_C/QQ[Y!F:6]'L(2&N5@_11IOR4G=\P'?LR4<=ULON,1VX4G\(8'/["M M'+^!^YWXW9.KSR8C\7 VW2##V/KXZX"I^L=?/<,SV4=$UH[$4 4>^'67?_'K MD'FJ@BOML+]]X^&WK3/;\ICE[=S#'K<4C?_KMRV//7F[8N5=_!'\P=_0M?7Q MQU]UXT%QO;$)!*(;[LA4QP@%!D\;3Q_P0>9\_/_^[__[/T6A#PQ=9]9'_"?_ M )Z]X;#@KWSRVD@4YR%56>H0UV;&AP[3?,?PQLTG;:!:?78#WVPI!H#N7NW7 MJGO'6PIS-74$CWN.#UNX:73.&W_\NAM[SPM?W@2N[8V!:=O.R':(P#H>\/DS MSD[/;#VZE_UJ&H&JX9VT@KN1'!5S^$M\ U/EB&*?].5[R9?W5--E\WU_ VZ_:DZ^>S_Y M;OS?>9)E$Y[N PE<.O:C-P#J&*G6.+J#@SF?_L>U81E#?WC-AB -Y(:0VWP MS.N^YGU3'<"&-[Z#16P]NA>0S9Q'_[8E^/H'W7?&3'6V/M:>O:7@COQH:*3: M !B !BU==73WRT@':H3O]ZLG?*OQC?\X-WH]T+^ 4$^9]\@8$,X#LWQVZ1LZ M2NR6U80'-.^4P989W+5&SV/.O3TRM,/J8?ST\G**)=K LN%=5A\@0.>%Y6Z[ MIM$GWM%\&L&R3+\WAO#(;:\#G[H]?@TYR&I1F)V\&&99C*5V,B_&>J[()Q=-_K>HT5?J\Z F>;D;3J8$#1SY"5GO@/TZ%T8\ +S.R"X:>GG M0,31]Y\DW[^S4ZN#FC//LU\8)G/.X,5]VXD>_G!"LMV /J-J&H/GR>ZA7\YS M*V< #T?;8 A:>EX+2],M1]]_UN(M9 6+^"3Z!4\G)!LN,XBWLYY MXL3[)^3:Q?>Y4AZ_C%RB<\'BQ3=PF-S =^8^GQ^?2W[\8R_)D2]M6W\T3+,% M7,AP$"!7MIO-C ^!-^E,,X!G@J50C8D-M&=TVQ-?PUUY!9M.5P#DID$'&#$' MA+^IHE:D-\'$&.'>O[BLYYM71B]VB5XNW:;O\8J!:3^P31V !_HH([F6I@>\ M;O]'U07M_^5*UE%M,5N*7I&6UG,:OFYXMM/P/.9ZI-@D&-31!(?(9%#T6<1 MQ/TX3*AGKMPD.D<^N&00P]84@9S%-H% M2W5LG+4^Q^59\L?AZW93WR?>-B+B2-D%>:6\C[C]G>H1Z0_Q;Y+KQU:2'PI0 M9,,G8&YK!A^ @>.AZL4A5$/WI%PI_&[B9XSK:^)']0A8Y3?S 2N2W3&QB3;S MP-)@>E-UT-X0'&YIT X!R/K(,R-?B*]TV,S3R#0TP^-[570#GG2!?80\F!P) M^'MDOB"*00VW+3),G@QWZV-H;:4=_M?=U/=$][B;OLE7WZ7C.-+G>Y="I(.U MZP]]$S7N6V\ JCK QV$#A.(#0S?5D&T4'>2&1U%)@]AL]62ONMYL%@31\]EL M]61GK[IH-HN^$73ZVMK/C;I9$^7;J.MZ'-L;8^0[PGS$TSN%'A.$V%\-PZ8>=#4\I2:>G6E;JOZ5-[6 MS6*!K+V[HNM_4EL8LU MOUZ9L9;3,::BQ6EG"E161?#-E_"BNC)/D'VFKIRDU[D;(7GH-]B0A<\JAL/(D4.9'I8&W\9+9?4<=#4!Y, 75>B/G R:#%EVH%T)PER+R MI=@O@A@L!Q[$VM%*F?ZQ)^L>*4U2KE$_+ED]+ MB024S&,=F,?;DT:I@RQ=!WE[MT3I"]MX7]B*JRDAK7;8T(!OL/K%=CH 5-M9 M6[A1,Z#H;$('68?N*21#!KYTEEG6IC"'$3OG@]?.B7N,W!_*P)5ED>=[76I?-P1+.2G4Q4UV\+#CN M.YXS\#][W<%Q_WO=R7NIZF!#==0-T0)#(]:DL0TD@AA M>&7SQ/4-(9"L@Y?DDA$%*1U(<\?]VTKM<_KC?5(/HT879\W74^!Z)H'YW.1TC-A4=)4AMPIG?5SQ_W;BY9(NA5U M #!)?0^;*!2#'SP_LW0*,$J&,)N6P"#]8CE,-8W_,;UE/3 .P$O5L+ A]J92 M52ZPE/0U.Q&^Y%6KR:N66AU1,IWU83IO3R@7JN%\54V?M:R1[[E7[(&9M6+0 M1'"TTW'PUT_P'M71!F,Z:)PXIH!B,^F@7M)! A2;20=[)1TD0%%4.@BMEN9P M9-ICQJBF]':T_HD&@0KPJ#KZ9+PN\[REW9'I?G<]Q\#Y?P2S+Y;AN>W.ET)3 MR=0SEY22(5-N;$M>KW/#850#AN!#=W(QR"7%GS[[T$45(JW90N0'?=*BU CC M@16'$.8O75Y)AEF +BKQ96@PLB*\"+WKGD-K\\XV*GOFO8 22_FW$O)OQ>DE MA]A<=S)9==MK&3E,@4$Q4!V& \O3;(Q"HE]D,#T# "7'R.QX5)+1ZI+12NB^ M!42)544^M+382]QECKJV#CF9U(%+X@(R')TY#M]R2"F41!7P+,D M:-OU"T)#:6K$LP!0DE&6G)'39(I!*,\:EI,X>U&E3HCL*=.!-@KQKYJ2M.Y$ M< =LI#!HOS" S[,KXP'S @%2!35 (Y+T7&:HB,%3>,0=1HL%W[FWO MG(ULUR@^6?!65"\!2O%IA?CIJ:K]9'H(E,)31.!_SSY]\5'/RU0W$.OI!R\J MPF=D(Q=AEO(J92.7,YQ?K:!V!K;CW3-G&);$%\<66JCF^IR]A,"=O#'9&"@J MEWRM]KR!-+M(M;HDY,6J]AM(KG/1^4NZ7+3PI_:Q5[;5WTSJ7!$%8#H6BD^C M+U,"-I1VUT$1V'2"GJ8,;"C9KI1"L.GTF>&,W'#2?*FGLJ3*MU!5B]RW<(7T MU+*'XL(5UTVDY%716DORGI,:NXE$_.8Z;$FMKU=J-YE0WT*C+6DT3U) [226 M@QJ,Z)LYV;'Y!"+3$_,-U]P2F_?TPN>0Z>K,<,P_XI+@DD8 RTQUJ)V\(-4! M?K0"J0Y%;GE>,!-R8]JOS\^$+#HE%\F$W!CR?JX)670B7DL32Q5W8ZCU M&2KNIA#JNJBXFT*C2R.XU8;/^9K"9VWJ)+/+1'X?RQV&1 M\;Z9^:9AA3[-B^\QQV'Z[0-S[@%ZQ=!XX"2&U;_MR0/>]BYM6[]U.LQY,+0$ M%61"89E!YA64$ZETT_#N;,/R6E9)/"F@*"DH@X*N'?=4==$NMMRU']& 63UW MCJW[FI>@$G)GI9ZUI(P930JSTL$ZJLE1*H N(H+QDL]COV/78<$/8;_2L)65D4$9#TVP?CF;U.V!RZ*JCNU]& M.KP)OM^OG@AV>V[T0.>!V\].F??(F"5N^Z5OZ"I\VK*:\(#FG;*>[;"&I3=Z M'MQ+>V1HA]7#]2:WP+NO_^4+>Q%'+[''$'1 C1;\5>,3,1)!@3P GB_G;EF& M9ZAF8X0/$ON^(RHY\X>^J>*0;(XMTF4-_#Z^Y7E@N[QP&1>N9;DC@!T"W=*O MF>?8IMT?;P)CSG'RDFHRJ.:3T1_<.4PS$-)[YP# ^ODFV%(SSUU23%;AC3T< MVE:!YF""^/1(P/+H)8X&L*U)>3MQ[F52R J6CH04 IH)5PB83HYQA*C#!@CW M!Y#QFET4!U].RLD-CY*B,BBJS3S5L)C>5!T+%-XU%TW/))_TPY>TDHQ#EO)I MN?(I##LF43WWD',I:-9+T+P]:9028^D2XZV0GJIXD@O*)!]5Z%_;*"+(!XQ2 MC9A-2S?,^V(Y3#6-_^%(+YG=[7T4%1S.K2F'T='13%8"W-Q/P9V,WAR+3' MC%%)T^T(: Z9#%%/D(P M?K$,KR#Z8X)JR')\%@!*,LK#: I)+*DLIJ2*J5018<-9]ZKM^@5F+L\"0$E& MT\CHT@$%Z)_2FN\%%Q@J-WC@T0\<8H M##S0*8+CI34E3IR]J Z/$-E73'79P#;UUG#DV ^\Z><&(GX*'(I/!'? 1@J# M]@L0\1Z[,AXP\17 U3>Z)J/8IGLZYNVW3=5-I,[&(%!\A&,&L>\QIV/W/+#" M6 )0&TP(N2"S 00BNM&W&:63)^&WR022!S)%)9#S4F2LALA8<6/BO)0TZREI MUH>N2@&U3@)J;>BJS3S#(>NOHSY@'T.T'CN\T_]^M?:Y&(05GC+%?YX/!"4% M95#0.>MA'\PS^-(QNCX-G$J#:$%XU%12>B8L2IK*H*ER8L8*3LQ808J9E<]> MZ+SG1>6Z/VL39?+U,](4V-" ;_#RV\XFL+/L Y=\+(-&R@EC*SIA;*6IIIS0 M7%+&#,K8 ZR=KB8_@9^D%16L\513\H>/^[R;J_,]O28*\. MZ?UMPQ6-FWYT5).Y;0")Y;.;HI3O3!PVK4!\!F3F2[,I.SIEEC88JL[/^+92 M$5)4.@73'%Z1ATZ;3R/;\01\LJW^9E+GBB@ T[%05!H-3:][1[7< M'G,L4@0#B)8?5O>_* M[U+V]83)2/!PUE0* V;V733\.YLP_): M5DD\*: H*6BNYL>&2LUU,$$V792^*(X4_.K^T2X&#:^C8_.5D:4\F^&]V+%] MF3BZ&[W922(HI<8+;/T-E0TK9>]OIA"8F?"RX:3Y%CDO)56F4>4Q4N72Z.O5 M\#E^FUM;7"]QZ9M-QWBQ&7+)"U/-M.I![?!'RF0TFIZ&/3F+@?V4IJ2S#[UL MB^-@IW;X7(LC]J.Y>SKKU>K>VLG.>>1\5?<6Z4 &L![N5=<OASEYU MD6 ]67NP'KT$K">+!2NI"T?'ZPW96G6U:$79+K]:&B:/_1I MK $%FDSR8C;TOWRNMQ5#90EJI[BG .>$V!9JI0D75RY@+%&'7;B].D$4-\S[ M8CE,-8W_X> +J>3QZYP%)@0JG7JO7ZN@FM"'<%O;6^4S]> M''RX7+^T3=C\5]4TV7B]KPJ-_@5Z;[IX5QJ6'KD,YVR$ P6(69XS5W,,FC9_ MVY/C0B.6XB1$EG=+DCK(HM@I\).A;9%!+/SU #PLKC>L/K >2U<=W?TRT@&6 M\)O#JFB=\*/-'FA* P+2L)T[VL;9 7 MM+RD^>5M>1O+*["15T#X!*X-RQCZP_6F5$(U(C7$?.QOZ=">IXRCNS&G?F&855Y9V9QYT)%;A&KV>8!GJ2 MF[338M!_FY%S_ X$^IA2450:6^N>CJ/?A%I[.A1*Y22CEK8DFM4DFA6L#>6Y MKP>U_3*S?_4R^Y')'.S4]I_+9&(_6I8%E"6S0S5OX+!2GUMZU?[+=:OYZ99.H'U(3=[81W$>>D@N M*+^+OP97S'C''3P]XPTC^.N+U^_\[\PDNY M']$7_/'BU;]TSC-7-EQ[OUX[^@#/O&;].^80KB?>HQL/.YLTD^]-6UA^'X-"#HB.0%'+1!D)&7SB MQ0AS&/KP@1_]P(^FORC^["M>:;%'U?QA4Y;QK%=&GWWQ*Z4HX];+.>^]O6O=JO5_>W%,_F_Y;/U+8^_KJ;V-UJ;?I@'3=] MO(:;KM76<=/U==STWCIN>AVY1WT=+V+]9/TV?;A_M(:;/EY#\C@\64.)>%1? M0^YQM%==QTVOH40\VEM#EG>TOX9B_.C@< TW?;R.Y''R'(DH/G5MW]&8"Q_1 M!P.FZLR!G^C&P\=?Y?\HKC?&[?5L"]ZN#@US_$'YCV<,F:N %:S +E3K/]L* M??*+0H^YQO_8!Z56'7F_;'W\OU]'L37$E_OP)8**[0R8T1]X\%&M^J]?E*'J M] WK@X(_5M!SMZ.:1A\^0+\Z?6FW M[EO-CM*X.5>:?YY]:MQ<-I6SV^OK5J?3NKWY=1??#2 :91VKNK1C5;..]:W1 M^=2ZN;R_O=E6SBMG%07,W/V3V%$&CGQQUW: "':ZMN?9PQW--FWG@_*/*OWW MBR*^]>S1Q%?\@#L.?[7J>W;PF#=T;?%#J!_]",.P.G"S@'B\- MN,=9P+VX;5\3"[!LBQQ[AJ8(ES--I9V#H.K,^$'[V][<^/@7@IS^ 4=Q\:5PI[>;=;?M>N?O2[GQIW-PK M][<*<)-[8!E*;4^Q':5V\$Y_K]@]Q1LP)>PIJS2?-"IC^?<_:H?57U:8OW!( M-C0/#U$[V=N'+QTZS7>F.DK3TIG^XHO "WJ:/&0>W(B3$[@0\):AZOVV93QY M'S D-80U![HZ'L-;F;7U\9QI/!RV5]M6\!W)^U))!VH(L*=?%,V$U3XH2._B MT)FPB0'E*(.\HB!;$\S.ZX[L;7VT$W?DOMVXZ;3H,KS\@JP\ -.NAH?Y4@;J M7@H/3I+6IOR@_T!?$W];-(GF/?7:D:WX-R[Q03$\>(,&"X?ZFG+1NFHJ-[<5 MY=US61-/7KLP3 8_P=2 0$Y/BNGJ3NWPX.@HR7G>+YSS2"1E8:>^-"V[GJEE MSV0AAW5 X??39OOV[KYUU@'UNPW"M7$?U;]7EBJ%T?.N^036&I$3,@6']0T7 MF8&GJ*[BCIB&Z1^Z8EA M:X"' ZCZW%Z0=L+2<[[T?-^[-U??[[_XVNK^JV: M\E\7K2P/J8ZM6K7Z+]IJU];'^&>@O09OW(<7TB.Z_$JL ]_A M7AYP:)"FFA)O7-^-;%DND'+=WMSRBBTL4"+T;& 3+%#+N9Y-'^41L=6MC]>& M98'][JG)&Q$AH%U/+PP@7\2\[]6GEDBUTL@!,L'):TE.OE_;J>T?@8$\P9Q;M!$NL[[UMZ+K#7%?\<052O!:YL_7D MG3TXJ585W@%0^628IJN<.\8#FWJ!UQXX9_#76^?>?K1"<_E@+PF:Z];-3;-Q M=WO5ZB3!L:W,%C1UL4+G]K[Q/ GS'%H-KC'_NA"T>V>[8(W\UQB=V7KHT#@^ MGL#0P<$^3@-XL:RI';^:8P1++(%_"G"A-!GQYBVJJ; G,/\]N,+P,;!2YJ;R MT/4\,)"$@C3Q++$P-R2C&8!O_6VKOJ[7#!E?PV%J[&*=8,PN?K'>'1WNO4]> MK&<[**]L@.G= #3SA.YX?+P_<97WZSL'8(VMPFU>+J*1T-N!R?OO?QS7:T>_ MN/ ^DXT0EHI%P-Q&#=+T\7B*"BB%34^]&+O2;MPE6Q?_@E'*A*F\WSALM(X^ M?=W[G,]4#JW?([1]IUC.@29Z\C*KF"]-!G&&@7QR,LL^KL\DD-BC4E]&RSM* M%7O9RG-:H"<>(ZH:5B)$1)]$#UP?3;BS[@E"-P"AMJ >%ZY'CTC.3PM.IYK!QYPGH%'E*:YM&KK2-57M MYR]*%JT*/2;=C.^!926_DH#>QWV9S /L[\#6->)$ M\DG;&0&NX:?U."52IQ/QD6%A+$-@@#ZA;!;,QY+Z%2@)'J/5(P< %F@_\J4? M0=$*7TX+P?ZZ/PU8"Q=$E>(GVQ%,,WR1SC0150IR.Z3NEOQ>8"+XOF?::J#_ MZ88[,M4Q?HWX5?Z?,<1:88 <(+1EZ1BF84IWK&@#!HP+FW0H!K\-D8B]X2JJ M\@@&^\Y/RWX$&F"J"\OK\(7KHQ=#=16=]0R+!_3;/I@E^]6#%.L3;E9E/C>+ M:W'*=WCPW_\X.=K?_^79LI#[J[_!N3[CL3KB5"TZ5.CG.IGP<]W8$VH'[>&@ MO,KE55[YJVS9'GSRMV^@4 19V#-,? 07<].%)*4G!O^*IBE.O<])XIA)4W.Y MSU]MT[< ]92YYK@1#_F$65&L>_Q2F&?0SN. 4U=XK ^#W2#6ZHIIF M0#I1FNHR\0"L&2>C65FN4;^DHL.W5I\>Q5%XC-PIM;I"*="N\@[6EC,L74&ZA>[Q>7H4^_K! M#L0ZU$,D<*^R!.6.EA;8)MGQ\8,JYZJG*!6>8,6H/UT B M&MFNE[ XHDI1F_5]7I"F=';NE7<(O:-?ZGOU2J U&903.<**F\"W M'A X<]_/F7Q?Q,8C4$>@G_F. ]?M*W[$?O8'\N@*2@='.R*R@^@%*DP'MC)W MML7%P%;&SK8" Z=6[^[4DZX#CO:H5K0 "CNB9R\E;$F,<:J*)EFR*/$T6) M0C62G&?"$_WJ&_H60'EFCGVY\SW M$3F+0+:B/]VS%=_E%BNH.(Q:0:24OH/1B^\RQ_CR1P->#:^EC=IHBCX8+LEJ M2[4TT(?0P!5=R5&WH[;D')8CQ\9NQ1DQ[;UW:FI,NQ(S,A9HH,X=[:4V7VQM M/H>+2MS1:.S!4E0 *0Y+1K+GGAR\I'!-\,H \M4^.>G_XRJJZS+7Q7_(F\%H MB*7QP"Q1?H-UZ 9Z'2VX>NBE=&Q3L4%"1&YDZ"[R 25A4&R_NA]-MU:=K@K+ M[MP^F6Q,$0TX6,A"1#I*US0T><=5#"60MU;U=0/92N30_W$C6PB&0[N5>+1L MEA YVN<1KYCV-:5Z>LFLNKRMJWI;XUE@)<64%#,'_IY,-W('S#0#KO\N)<,H MYH ''BN;ARPP(6&FW7L\C<6N@:+U6G#Q?@F($+7?1U$,_QKR;%A*UY;H>K!) MB&*D!4-'XI\:3_/&V*0'DIZ9E#] L24Y4L\EDO ]GEK@L![(4DMCJ/_R^*@! M_P IRK/WA0R-+(K!3Q,C]:YMZA2%HLV"E ==0>D:/'ZKNC]10M-BL&,*C<;6 MH90W<19:KNN[!BD2NCJ67SB3!8!#VT45!?-=S3&W!1B>!6C)ME#U=\$85?[F MLV8^*/\4L=,+AX\#IW>D6US@_=Q2<# &_0"'S,CX*3;3 MA:MM !MQ*>82[3)G^4/=]L376Q_K]8/M^O'A]E'8$T1N:+7X?Z[LY#?<4(-H MY()U'4#H6*D?4W^^VC92A\.41_R?61BN5:FK?A+#O"*"TLWY!*=;WR,;$>Y1 M!.5BNE,8-3^*HKUU/#2;3'W<53"VWX@)XI=R*[N&.;)YCR M.VF'!ZQD^JP+GMLRN4@BJ_S\]NS+=?/FOJ.T;F37L.:Y\0E4&#C*]?]S?G@'. M*;L!P'>&'!7,Y5]WU8]9WLY5$5B[UC'J>^B1(ZGGK>;(*RI]W MICJ=*=H3<4[U.6+AL,%B0J@$-9^9Q4ZO <[K]YY:6T0MN7GG[%FE6BNX>^[Q MO1"J^057B<,6R]*Z2FE[O,##IF0+K@88I[=>_'C?.+UJ*K<7RMGMS3TJ!G'I MGTPB QXJMI(P_B77F) !ON/B!R#85-^$K8":AG"0SX]L.,0T/7 M3;;0(L@$(QOLIX1#7[EC*7CYY5C$&Y(7,/*.S!R!S(8CM8-H9]>C@"9.KW\T M?IR>U.X:-U='[>_':0F331UL,& M_GG8_/;G]6T]XV2M^R9(ZXHR#TR^=UDVS MTTD]WC/(*(-TK%_=WF9FL0M2:OOGX??:][/[SU,)YO0%!)-C\26]=LX\RS!5%+CCVL*[5<_#AM7O[9/+JIM>JW4ZAE[P74 MDF/M)1SGJGG9N%* 9LZ:S?/6S>6BB";'5M:5:"[A:'^18>PG'N08%6.DT+IKWWY7S5N?LZK;SI;TP?I-C0PL@G;>@G$]@)M[N=9JU M_4]9EX*;S--MYG32R;'X$LZS(!K)\69TJ"Z$O4R=<5&+MYBDUG#S!GL+!/)_ M;^K71XVKYC2I=? "*LJQ]A*.<]UH?V[>*Q>W;:7=O&QU7UOWW;7CBBH+&G?O;L\^?;J_.FVWENG%_WVSSJ;"M3N<+?'3WI7WVJ=%I M=M#(Y[]5POFQ"Z+;'&==&-TNF+G]#E?R\Z?/][_?[4^ERL,74&6.M9=PG$[S MJGF&E';1NFGJUQ<^%1'Y&#QP];W3(OX54N#9[V7>T5(:'2 +HB\[NROZ=Z/]?9'B-,7](.(BA?PO@519H[3'!RO)Z.[_7%Z M5/]\>O+M^#AU#&Y =R^1HSD67\)Y,&^I?7O%N1OY7<\7Z#O+L:%UI9V['Z>7 M^__][Y>KDY,_IMF7)R^)#N98? GGN;W_U&P#R\)\2#$]>R%4DV,K"Z":MR": M/WZ<_G?_MG9Y>'+0FIJD]"*7:X[5YXFF'*\[6%,-N/WC]$OK\.#@C[/6]#2C MZ@O0E&/Q)9SGO-5N4J+(MM+\LWGVA0RKVXN+UIET5 8%,,KE[==F&Q601>D< M.?:[KJ35^7%ZW[YNUSYW?I_J.JK57D!:.19?PGE">CJ[O;YKWG06*3QR[&=A MI+-T0^K^Q^GIW:=O[?.CZ_VI*4LOR3?)L?@2SB-B)-^5VV\WP*D^M>XH/;_9 MOF^ <77:O&D""T-#B7]/G"QT9@JO9&:$9D%$FN-_GUL7%^=7 M9].(]"5I+CD67\)Y)#D2I:'/&\BT$Z,]#"%V&F?TY;;P"7"!# KW>1.XYGES M78WP)(Z2THZ=N/TZ\GOS>_U;\U+S(T"VZ\?7T!)>58 M?)Y8RO&ZPS4-_/_YX_2R=G+3./[ST_0+_Y)\E!R++^$\S3\_M4Y;(F21$LM0 M.F>?FN=?KA9VZ7/L<3[DE*2=?%C[#CSIZQ_[MP='MV^EN>9X9:=U>=.X7Z#W M-<<>#N/%/,\;G[G<8N>)6CI1=#O9$.'CM-+8YY;!3JEIC>%MU(_@+.B3&S8* M2P=)9.^1GZ<7*.?HB%"+4U46D@?!97SKYA4!?%[7JN+YY)2WOX4 7ZS-1?2/ M.367F&_#F$2MZ2@.['3R4R7M:;X+N#^U[9_8:2S.=A95P$XL*U?1\#S[7P3U MP,GF%&%CD[?$RW-9ZTH@;3$UL]D-8;+[7,BZW\QZV7B;IC?$<=ZASFD87E0[ MB\OF3;/=N'K1\.FT?3;N,N=VY!D:MHGC M#;BPNQ9V<>PA='@[T-K)\3XU[>+#RQB-N%?ZIMU53> 1#\RT1\RA)^#U?D_5 ML-&K@\)S >BJ7J&BPN[S')IUA[3!A8PG?X8&T7Z?/X8_MX=NQX;PB]LW=?$ M]$?#B#S2]@F'G:/CIK$:DXI#*K>^ 1JSJHNVC2QW'3%NC9F.JIQR<5*O* M)?;_LI1/AFFZRKF#'<3@Y.+3KSAJ8[RM7!N6Q5S;4RNTZ"/KNH;'%%#F'.Q- M:;@Y=Y3GL61[V ^\)3;2"2SQ^/A8T1![-F&OHMG#?.^N*-]M7]'$H#G7W59Z M#B,]1QO@$*UMX/6.&,3I\A[ZB4FBB(.@[3TV%S1&@:5R 1N]-T>S&P+1.H9J M\IN!9_1'@'L$>FR%R>YC2DJ3,DS)KTN;0&+,C;;#&XHV>9&V>(",^*LF-?L> M_0?+1UOHR=<\PA7#Q=0'U3!)R4Z,!7TP5$(5;Q;//(FZGFV:]B/UM>47[H,R M\+S1A]U=!*>A,Q-NK8-]9'U#\I,JD MT9,0()7Z"\5G;!G#&@"U3>O'ER*\PA]]8\1J7RQ[;6]RA[\-Y*]M6CALCOZ&W='SR).4,N.]G\)"&D[ MX((*1S*2XJ/A &]"(?F(1+(#K'%$W:0Y/9;TLD'T0L-#Q& @8#&JZ\L)Y:@[ MH6Z$?121L2!IB/ZT+AL:V'G630RVF2B83KR M)TYMHV#]L%HZ"XU&B"OF[SO7]>\YK8[L'M/N %X-W^!72 M%L_1,[@WE4][JB@-Y2<;HU"7XV#H%!XV]X7E#5>TCIC>JG*_ MV_/D0%?%V4[P'+X,/AW!1CWL"G[MFYZQTV8]4XB(CC\:H?8 ?R\O\!(OL#